RSync move os arquivos para um diretório diferente se eles foram excluídos no servidor

3

Então, agora eu uso o rsync para sincronizar arquivos com um servidor. Às vezes, os arquivos no servidor são excluídos (eu sei sobre a opção --delete e eu não a uso) e esses arquivos são deixados no meu diretório local para eu limpar mais tarde.

Infelizmente, isso requer que eu puxe a lista de arquivos no servidor, descubra quais arquivos não estão mais no servidor e mova-os para um diretório local diferente.

Eu quero de alguma forma automatizar esse processo. Eu não sei se tal opção existe no rsync, mas eu iria me contentar com qualquer coisa, desde que iria conseguir automatizar esta tarefa repetitiva.

Alguém sabe como isso pode ser feito?

    
por RedHack 07.04.2013 / 21:05

2 respostas

3

Eu descobri por conta própria. A solução é montar o diretório SFTP do servidor em um diretório local usando sshfs e, em seguida, usar diff . Para aqueles que desejam usar esta solução alternativa, você pode encontrar instruções aqui: link e aqui: link Lembre-se de usar a opção -o allow_other com o sshfs, caso contrário você terá problemas de permissão de arquivo.

    
por 08.04.2013 / 18:21
2

Encontrei uma solução possível, mas você precisa executar o rsync duas vezes.

Na primeira execução, copie arquivos novos e alterados, como:

rsync -xav source/ dest/

Na segunda execução, exclua e mova arquivos:

rsync --delete --backup --backup-dir=DIR_DELETED_FILES -xav source/ dest/

Note que --backup-dir pode ser absoluto.

    
por 15.03.2017 / 17:10

Tags