Por que meu filtro rsync copia uma pasta incluída e não a outra?

2

Desejo sincronizar todos os arquivos com nomes em conformidade com determinados padrões no meu diretório pessoal e em dois de seus subdiretórios. No entanto, meu comando rsync & os filtros atravessam apenas um dos subdiretórios.

rsync -aHm --delete --include-from=/home/ftamborello/.rsync-include --exclude-from=/home/ftamborello/.rsync-exclude -e "ssh -A -t frank@frynseytv" /home/ftamborello/ :/Users/frank/Backup/

.rsync-include:

*.pdf
*.lisp
*.scr
*.r
*.txt
*.csv
*.py
*.c
*.h
*.[0-9][0-9]
.rsync*
.autobackup.sh
Documents/
fpt-logs/

.rsync-exclude:

*

Resultado do comando Rsync (com -nv):

building file list ... done
deleting .#fpt-log-2016.05.10
./
.ccl-init.lisp
.emacs.2016.06.17
.profile.2016.03.09
.profile.2016.08.05
.rsync-exclude
.rsync-include
fabfile.py
output.pdf
python-test.py
temp.txt
Documents/
fpt-logs/
fpt-logs/fpt-log-2015.12.16
fpt-logs/fpt-log-2015.12.17
...
fpt-logs/fpt-log-2016.08.19
fpt-logs/fpt-log-2016.08.22

sent 4,827 bytes  received 1,130 bytes  2,382.80 bytes/sec
total size is 3,213,954  speedup is 539.53 (DRY RUN)

Há um grande número de arquivos na hierarquia de documentos que, na minha opinião, devem corresponder ao padrão de inclusão, por exemplo, Documentos / auto-backup-test.txt e cl-template.lisp, que o rsync não consegue copiar.

Eu usei esta postagem unix.stackexchange para desenvolver meu código.

Filtro Rsync: copiando somente um padrão

O que estou perdendo?

    
por fpt 23.08.2016 / 15:55

1 resposta

1

Eu RTFMedi a página man rsync novamente e desta vez encontrei o que parecia ser o Kernel Crucial do Conhecimento:

Note that the --include/--exclude command-line options do not allow the full range of rule parsing...

Eu entendi que isso significa que apontar arquivos para excluir / incluir teria o mesmo resultado. Então, eu fiz .rsync-filter arquivos e usei a opção -F . Agora, o rsync percorre toda a hierarquia de diretórios e corresponde aos padrões em meus arquivos .rsync-filter conforme o esperado.

Assim, a solução parece ser usar filtragem, em vez de excluir / incluir, para todos, exceto os casos mais simples.

    
por 30.08.2016 / 16:09

Tags