rsync 仅比给定日期更新的文件,使用 --delete

rsync 仅比给定日期更新的文件,使用 --delete

我正在尝试使用 rsync 仅备份在特定日期之后创建或更改的文件。原因是在那一天,整个系统已经备份了。但是,这些全局备份文件被隐藏在存档中,因此在 rsync 运行时无法访问它们以进行测试。

经过一些研究、阅读手册页和反复试验后,我想出了这个几乎作品:

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/"

为什么是“几乎”?我的问题是 --delete 选项无法删除在源中不再找到的文件。我怀疑这是因为 find 没有找到源中丢失的文件名,因此它们不会作为参数提供给 rsync。

如何仅同步比特定日期更新的文件,并从 backuphost.lan 中的目标中删除在源中不再找到的所有文件?

相关内容