rsync: apaga alguns arquivos no destino, não na fonte, mas não exclui outros

0

Dados dois diretórios /.../src e /.../des ,

  • eles compartilham alguns subdiretórios share1 e share2
  • des também possui um subdiretório denominado des1 , que não existe em src .

Como posso realizar a transferência de arquivos de src para des (por rsync ou outro programa que você preferir), para

  • atualize share1 e share2 em des de acordo com os diretórios samename em src , incluindo

    • excluindo todos os arquivos que estão em des/share1 e des/share2 , mas não em src/share1 e src/share2 ,
    • adicionando todos os arquivos que não estão em des/share1 e des/share2 , mas em src/share1 e src/share2 e
    • atualizando todos os arquivos em des/share1 e src/share1 ou em des/share2 e src/share2 ,
  • manter des/des1 intacto? Obrigado.

por Tim 10.03.2015 / 19:25

1 resposta

1

Existem duas opções. Ambos usam rsync .

Ou: atualize somente share1 e share2 , excluindo arquivos desconhecidos no destino

rsync --dry-run -avP --delete .../src/share1 .../src/share2 .../des/

Ou: atualize tudo em des , excluindo arquivos desconhecidos no destino, exceto des1

rsync --dry-run -avP --delete --exclude '/des1' .../src/ .../des/

Quando estiver satisfeito com o resultado, remova --dry-run .

    
por 10.03.2015 / 19:32

Tags