Estou tentando usar o rsync para fazer backup somente dos arquivos que foram criados ou alterados após uma determinada data. A razão é que, naquela data, todo o sistema foi backup. No entanto, esses arquivos de backup globais são enterrados em arquivos, então eles não estão acessíveis para testes quando o rsync é executado.
Depois de um pouco de pesquisa, manpage reading e tentativa-e-erro, descobri isso, que quase funciona:
find "/directory-to-backed-up/" -type f -newer "<DATE-OF-LATEST-GLOBAL-BACKUP>" -print | \
../rsync -v --progress --log-file=./rsync.log -rlt -z -m --chmod=a=rw,Da+x --delete \
--files-from=- \
--exclude-from=exclude.txt \
/ \
"backuphost.lan::updateback/"
Por que "quase"? Meu problema é que a opção --delete falha ao excluir arquivos no mais encontrado na fonte. Eu suspeito que isso é porque os nomes dos arquivos foram faltando na fonte não são encontrados por find, então eles não são alimentados para rsync como argumentos.
Como posso sincronizar apenas arquivos mais novos que uma determinada data, excluindo do destino em backuphost.lan todos os arquivos que não são mais encontrados na fonte?