如何通过 rsync 将 samba 文件夹镜像到 ext4 文件夹?

如何通过 rsync 将 samba 文件夹镜像到 ext4 文件夹?

我有一个 FreeBSD 文件服务器,并且刚刚设置了一个 xUbuntu 15.10 桌面。

桌面之前运行的是 OS X,但在安装 xUbuntu 之前我将文件备份到 FreeBSD 服务器。安装xUbuntu后,我通过fdisk擦除了HFS+磁盘上的分区。

我刚刚将文件从服务器复制回本地磁盘。但我遇到了 rsync 的奇怪行为。

我使用的步骤:

1st step: rsync -aiv --delete --progress --dry-run /server/my-stuff/ /localdisk/my-stuff/

这列出了目标驱动器中缺少的所有内容。显然,我的本地磁盘是空的,因为我刚刚迁移到 Linux。

2nd step: rsync -aiv --delete --progress /server/my-stuff/ /localdisk/my-stuff/

然后将我的所有文件复制到/localdisk/my-stuff/。作为测试,我尝试再次运行第一步:

3rd step: rsync -aiv --delete --progress --dry-run /server/my-stuff/ /localdisk/my-stuff/

我原以为会显示 0 个文件,但 rsync 似乎想要再次复制所有文件。我说“全部”只是因为它要复制的文件数量多得难以计数。

那么关于如何解决这个问题有什么想法吗?谢谢

答案1

根据我的经验,Samba 共享可能会遵循相同的原则限制条件作为 FAT 卷,即:时间戳的最小分辨率为 2 秒。rsync不知道这一点并假设该文件是“新的”并再次传输它。尝试使用--modify-window=2 选项绕过这种行为:

rsync -aiv --delete --progress --dry-run --modify-window=2 /server/my-stuff/ /localdisk/my-stuff/

相关内容