rsync -av -e “ssh”, mais um monte de “includes” com um final “exclude = '*' '”, não copiando todos os arquivos

2

Um comando rsync parecido com este, rsync -av -e "ssh" --include="dir1" --include="dir2" --include="dir3" --include="file1" --include="file2" --include="file3" --exclude="*" user@server:/directory1/site/ /dir1 , não está copiando recursivamente os arquivos. Em outras palavras, apenas os arquivos e arquivos não regulares no diretório / directory1 / site estão sendo copiados e não os arquivos em suas pastas.

    
por Muskateer 05.11.2018 / 18:05

1 resposta

2

As inclusões / exclusões de rsync são estranhas. Sugiro que você reserve um tempo e leia atentamente a seção INCLUDE/EXCLUDE PATTERN RULES da página de manual . Preste muita atenção a todas as regras, pois algumas coisas simplesmente não funcionarão no que pode parecer óbvio.

a trailing "dir_name/***" will match both the directory (as if 
"dir_name/" had been specified) and everything in the directory 
(as if "dir_name/**" had been specified). This behavior was added
in version 2.6.7.

Então, se você quisesse todo o conteúdo de um diretório, usaria --include="dir3/***" em vez de --include="dir3" .

    
por 05.11.2018 / 19:17

Tags