Estou tentando copiar o conteúdo de uma série de diretórios de forma não recursiva para outro sistema remoto.
/dirA/dir1/file
/dirA/dir2/file
/dirA/dir3/file
dir1, dir2 e dir3 contêm muitos diretórios que eu não quero copiar. Copie no host remoto para / dirB mantendo a mesma estrutura de diretório.
Eu tentei:
rsync /dirA/*/ host:/dirB/
rsync /dirA/ host:/dirB/
Mas eles não fazem o que eu quero.
-f '- /*/'
para restringir apenas os arquivos de nível superior. Eu também tive que especificar-f '- .*'
para excluir arquivos de ponto, pois estava sincronizando um diretório inicial.A solução acima (por favor, PleaseStand) não funcionou para mim por algum motivo. Isso funcionou:
rsync -avc --no-r ./source/* ./destination/
Há também esta alternativa:
rsync -avc --exclude "/" ./source/ ./destination/
fonte
Um dos "recursos" do rsync é como os diretórios são analisados.
rsync /dirA/ host:/dirB/
ersync /dirA host:/dirB
teoricamente deve ser equivalente.Como não querer incentivar recursividade, você quer evitar
-r
,-a
que além de outras coisas implica-r
.Ainda não terminei a pesquisa, mas esta é a minha resposta inicial.
fonte