我们已经将大约220 GB的数据从Windows 2003 Server迁移到Windows 2008 Server,并且由于需要复制这些数据以及将其保留给用户的必要性,我提出了在Ubuntu服务器上使用rsync来代理迁移。 (我可能已经去了一个适当的Windows解决scheme – 但我发现的应用程序有点昂贵,像这样的一次 – 权限不是问题)。
一切顺利 – 今天我正在做最后的同步,并确认新的服务器是最新的差异,但我注意到Excel电子表格(.xls)的一个奇怪的事情。
已经在先前的同步中复制过的Excel电子表格的每个实例都被rsync标记为“已经最新”。 但是,当我运行一个差异,我被告知,文件不同。 我手动复制他们,因为只有less数,但我想知道是什么原因造成的。
整个220 GB树中没有其他文件types有这样的问题 – 只是Excel / xls文件。 如果有人能够提出一个解释,那将会很棒。
我同意@Zoredache,Robocopy是你所需要的。
尝试从您的2008服务器,将一个目录复制到另一个; 包括安全性,属性和时间戳…
ROBOCOPY /SEC \\source\share\folder \\destination\share\folder
要复制上面的所有内容,加上所有者和审计信息…
ROBOCOPY /COPYALL \\source\share\folder \\destination\share\folder
更多信息…
如果您想继续使用rsync,请尝试使用–checksum开关。 根据rsync手册页 ,“Rsyncfind需要使用”快速检查“algorithm(默认情况下)来查找文件的大小或上次修改时间已更改的文件。 虽然我不确定为什么rsync不会注意到文件上的时间标记更改,但Excel文件的大小在编辑之间可能保持不变。
rsync使用时间戳。 也许Excel不会设置上次修改时间?
在这种情况下,更好的select可能会使用rsync中的“–checksum”标志。 这样,所有的文件将被扫描。 这并不意味着所有的文件都会被一次又一次地传送,只有转换才会被转移,但是这意味着所有的文件都必须在每一次扫描。
他们还有其他的select:“–ignore-times”和“–size-only”(我不知道区别),但与–checksum相反,这些文件将被跳过而不检查他们的内容,如果文件大小匹配。