仅当存在差异时才使用 rsync 或 scp

仅当存在差异时才使用 rsync 或 scp

我如何确定备份文件和当前使用的文件之间是否有区别。
备份的文件名命名为:filename_date.conf
,当前使用的文件名为:filename.conf
我只需要知道内容是否相同!

我知道如何复制文件并按我希望的方式重命名,但我不知道如何确定是否存在内容差异。

答案1

使用 md5sum。

你可以通过 ssh 对远程文件进行 md5 操作,例如

ssh user@host md5sum filename_date.conf

然后您可以对本地文件进行 md5sum 并进行比较。

答案2

Stone 的优秀回答(+1!)没有任何问题,但既然你询问rsync,你可能需要调查一下-c标志,它告诉rsync执行校验和(碰巧是 MD4)以帮助确定文件是否已被修改,然后再决定是否传输它。

答案3

rsync已经有很多机制来检查差异。如果您不重命名文件,rsync则不会传输未更改的文件。

我曾经rsync通过仅传输新数据来最小化打开日志文件的传输。man文档讨论了您的各种选项。

类似的工具backuppc使用Unison协议rsync和功能来最小化数据传输。

相关内容