Eu corro um servidor de jogos com um plug-in que coloca backups de hora em hora em / backups. Após 1 dia, o plug-in salva 2 backups / dia e exclui o restante. Desejo sincronizar este diretório de backup com um servidor remoto, mas apenas para arquivos com mais de 2 dias, para que não sincronize arquivos que eventualmente serão excluídos até o final do dia.
Para fazer isso, eu executo o seguinte:
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 resolveria esse problema? Obrigado pela ajuda!
{}
. Aqui você não passa o resultado do seu comando find para o comando rsync.Respostas:
Natim está correto, pois {} 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:
Nota: eu também mudei
para
ao declarar arquivos com mais de 2 dias. Pode ser necessário ajustá-lo às suas necessidades exatas.
fonte