从 rsync 获取已删除文件的列表

从 rsync 获取已删除文件的列表

我将我的音乐收藏同步到以下设备:

  • 我的台式机有 RAID10,我用它来翻录 CD 和下载音乐,
  • 家庭媒体中心,控制家里的音频播放器

我使用一个非常简单的 rsync 命令来完成此操作:

rsync -av /media/ned/music/ tank:/media/steve/music/

有时我会删除桌面上的某些内容,或重命名。当我再次同步时,Tank 会保留旧副本,这可能会导致重复。

我知道--delete-{before/after}选择但我非常担心自动删除。目前还没有第三次备份,所以如果我犯了错误(我以前就犯过)删除rsync了 Tank 上的“备份”,我就会丢失数据。

传输完成后,有没有办法生成可能删除的列表?理想情况下,rsync会向我显示列表并给我一个[y/N]提示,但我很乐意在单独的命令中执行此操作(我只需编写一个syncmusic脚本)。

答案1

使用该--dry-run选项。

rsync -av --delete --dry-run /media/ned/music/ tank:/media/steve/music/ | grep deleting

rsync如果您运行不带该选项的命令,这将打印出将删除的内容的列表--dry-run

答案2

您真正要寻找的是:

rsync --dry-run --delete-after -av --info=DEL  /media/ned/music/ tank:/media/steve/music/

如果您还想检查进度,那么您可以使用:

rsync --dry-run --delete-after -av --info=DEL,PROGRESS2  /media/ned/music/ tank:/media/steve/music/

相关内容