No rsync, posso adicionar exceções ao --delete usando um arquivo externo?

2

Eu quero rsync para:

  • Copiar todos os arquivos da origem para o destino
  • Se um arquivo não existir mais na origem, exclua-o do destino, EXCETO para alguns arquivos específicos

E preciso listar as exceções em um arquivo separado , como posso fazer com a opção --exclude-from .

Isso é possível?

    
por Schrute 02.10.2014 / 00:33

2 respostas

1

Não tenho certeza se você pode ter uma lista de arquivos na opção de exclusão, mas você pode tentar isso:

$ rsync -avz --exclude delete_file_1.php --exclude dir_1/file4.txt \
     directory_source/ directory_destination/

ou você pode:

$ rsync -avz --exclude 'dir_1/dir_2/file_3.php' source/ destination/

ou você pode:

$ rsync -avz --exclude 'dir*' <-- wildcard match here

Se eu fosse você, criaria pastas de teste para serem sincronizadas com o destino remoto e veria como elas funcionam. Contanto que você tenha a opção de exclusão correta, você pode manipulá-la para excluir muitos arquivos.

    
por 02.10.2014 / 00:48
0

Aparentemente, isso só é possível se executarmos o rsync duas vezes, assim:

rsync -a source/ dest
rsync -a --exclude-from=files.txt --delete source/ dest

Em que files.txt contém os arquivos que não queremos excluir.

    
por 03.10.2014 / 02:45

Tags