验证 rsync 是否复制了所有需要复制的内容?

验证 rsync 是否复制了所有需要复制的内容?

我正在尝试使用 rsync 备份远程 Linux 服务器

我在我的台式电脑(Win7/64)上运行 DeltaCopy 作为服务器,并通过 SSH 连接到 Linux 机器来运行 rsync,通过 sudo 连接到 root,然后执行类似的事情(由于显而易见的原因,稍微有点模糊):

rsync -azv --modify-window=1 \
--exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found/*} \
--log-file=/var/log/rsync.log /* rsync://[email protected]/MyBackup

它似乎正在起作用,但我担心可能有一个或多个文件没有被复制并且悄悄地落在了裂缝之间。

有没有直接的方法可以让 rsync 生成 Linux 机器上应该被复制但却没有被复制或者不同的文件的简明列表,这样我就会知道哪些文件需要特别注意(MySQL InnoDB 等)?

此外,根据上述示例,如果发生了变化,我应该对后续运行进行哪些更改以便用较新的版本替换副本?

答案1

请尝试以下选项:

--dry-run

答案2

根据 rsync 手册,-v 选项将告诉您要复制哪些文件。然后,您可以获取这些文件名并创建一个在两个系统上运行的脚本,并执行 md5 求和。然后,您可以比较文件之间的差异,并在必要时使用不同的 md5 复制文件。

相关内容