在 ubuntu 上使用 rsync 备份 ntfs 磁盘

在 ubuntu 上使用 rsync 备份 ntfs 磁盘

很长一段时间以来,我都在使用 Windows。我有一个单独的驱动器,用于保存媒体文件、照片等的副本,并定期将其备份到外部驱动器。在 Windows 中,我使用 SyncToy 来执行此操作。在我的 Windows 停止启动后,我决定切换到 Linux(Ubuntu 10.10)。这似乎进展顺利,但现在我想像以前一样将我的驱动器备份到外部驱动器。

这两个驱动器基本上已经相同,但可能添加了大约 10GB 的额外文件。

因此我尝试使用 rsync 来同步两个驱动器,如下所示:

rsync --dry-run -rvlt --modify-window=1 /media/Antonio1TB/Backup /media/FREECOM\ HDD/Backup

问题是试运行表明驱动器上的每个文件都将被复制。而不仅仅是我最近添加的文件。

在 Ubuntu 下同步两个 NTFS 驱动器的正确命令是什么,以便已经存在的文件不会被再次复制?谢谢。

答案1

经过进一步的研究,我想我已经部​​分解决了这个问题。上面的命令将把源上的目录 Backup 复制到目标上的 Backup。但我真正想做的是将 Backup 中的文件和目录复制到目标目录。换句话说,我需要在末尾加一个正斜杠

rsync --dry-run -rvOlt --modify-window=1 /media/Antonio1TB/Backup/ /media/"FREECOM HDD"/Backup

我还添加了 -O 选项。如果没有这个选项,rsync 似乎想要复制目录,即使目录中的文件没有更改。我对这个选项以及它在这种情况下到底在做什么以及为什么需要它感到困惑。

答案2

如果修改时间等不重要(ntfs 上无法保留权限),我会使用--size-only仅比较大小并忽略仅在修改时间上不同的文件的选项。

例如:

rsync --size-only -r /mnt/original /mnt/ntfs/backup/ # -in for "pretend mode"

答案3

仅比较文件大小可能会导致问题。如果较新的修改文件与之前较旧的版本大小相同,但内容却有所不同,则不会同步,尽管应该同步。

相关内容