Eu quero rsync arquivos com mais de 2 dias, sincroniza todos os arquivos

1

Eu corro um servidor de jogo com um plugin que coloca backups de servidor por hora em / backups. Após 1 dia, o plug-in salva 2 backups / dia e exclui o restante. Eu quero sincronizar este diretório de backup para um servidor remoto, mas apenas para arquivos com mais de 2 dias, para que ele não sincronize arquivos que eventualmente serão excluídos até o final do dia.

Para fazer isso, corro isto:

find /path/backups/ -type f -mtime 2 -exec rsync -vPhd -e "ssh -p 512" /path/backups/ --delete --ignore-existing me@host:/remote/path/server-backups/ \;

Isso faz com que todos os arquivos em / backups / sejam sincronizados com / server-backups / em vez de arquivos com mais de 2 dias. Como resolvo este problema? Obrigado pela ajuda!

    
por Ayys 08.01.2017 / 12:08

1 resposta

3

Natim está correto em que {} precisa ser usado para passar os nomes de arquivos para o rsync. Não há necessidade de mudar para scp. Basta usar o {} com rsync como em:

find /path/backups/ -type f -mtime +2 -exec rsync -vPhd -e "ssh -p 512" {} --delete --ignore-existing me@host:/remote/path/server-backups/ \;

Nota: eu também mudei

-mtime 2

para

-mtime +2

ao indicar arquivos com mais de dois dias. Você pode precisar ajustar isso para suas necessidades exatas.

    
por Kees Beets 08.01.2017 / 12:56