Rsync não é possível remover o arquivo remoto que não existe no local

3

Considere minha pasta local

/tmp/foo/
/tmp/foo/1.txt
/tmp/foo/2.txt
/tmp/foo/3.txt

e minha pasta remota

/tmp/foo/
/tmp/foo/1.txt
/tmp/foo/2.txt
/tmp/foo/4.txt

e no meu lado local, eu corro o comando na pasta /tmp/foo

rsync --exclude=3.txt -avcz --delete * ubuntu@server:/tmp/foo/

Consegui sincronizar meus arquivos, exceto 3.txt , mas o 4.txt ainda é remoto, por quê?

    
por Ryan 18.01.2016 / 06:59

1 resposta

5

Ele não exclui 4.txt porque você está executando o comando rsync com * , ou seja, nos arquivos de origem individuais. Portanto, rsync nem sequer considera 4.txt (ou o diretório que contém). Em vez disso, execute-o no diretório que contém as fontes, alterando o * para . . Então, rsync pode examinar o diretório como um todo, como ver o que está faltando.

rsync --exclude=3.txt -avcz --delete . ubuntu@server:/tmp/foo/
    
por 18.01.2016 / 07:33