rsync exclui o diretório que não está funcionando, ao também varrer apenas arquivos * .php

0

Estou tentando rsync todos os arquivos .PHP e .HTML de qualquer diretório dentro de / home /. No entanto, em / home / site2 / public_html / cache_old / há arquivos .html que eu não quero incluir na sincronização (assim, eu quero excluir esse diretório e qualquer um dos seus subdiretórios)

Aqui está o melhor comando rsync que eu posso criar (depois de muitos testes e falhas):

rsync -avv /home/ /ssd/rsyncPHPsFORmtree/ --include '*/' --include '*.html' --include '*.php' --exclude /site2/public_html/cache_old/* --exclude '*'

Estou convencido de que meu comando rsync não está formatado corretamente com base nessa saída de quando o rsync está em execução:

[sender] showing file site2/public_html/cache_old/total_pages/s/e/a/r/c/page99.html because of pattern *.html

[sender] showing file site2/public_html/cache_old/total_pages/s/e/a/r/c/Page4.html because of pattern *.html

[sender] showing file site2/public_html/cache_old/total_pages/s/e/a/r/c/searchHe107.html because of pattern *.html

[sender] showing file site2/public_html/cache_old/total_pages/s/e/a/r/c/page18.html because of pattern *.html

Obrigado

    
por James Gaul 25.12.2015 / 07:57

1 resposta

2
rsync -avv /home/ /ssd/rsyncPHPsFORmtree/ --exclude '/site2/public_html/cache_old/' --include '*.html' --include '*.php' --include '*/' --exclude '*'  

Isso deve ser feito.
A ordem dos servidores de dados é importante. A primeira regra de correspondência se aplica. Assim, você exclui a pasta 1st, depois inclui os arquivos desejados, depois inclui diretórios que não foram excluídos anteriormente e exclui todo o resto.

    
por 25.12.2015 / 09:16