如何print/log rsync 计算的校验和?
How can I print/log the checksum calculated by rsync?
我必须在两台 Linux 服务器之间传输数百万个不同大小的文件,总计将近 100 TB。第一次使用 rsync 很容易做到这一点,而且非常安全,因为数据可以校验和。
但是,我需要保留一个文件列表及其校验和,以便将来定期进行一些检查。
有没有办法告诉 rsync print/log 文件的校验和?
如果这不可行:考虑到性能非常重要,您会推荐哪个 tool/command?
提前致谢!
自 rsync 3.1.0(2013 年 9 月 28 日发布)以来,可以在日志记录中包含传输 md5 校验和:
Added the "%C" escape to the log-output handling, which will output the
MD5 checksum of any transferred file, or all files if --checksum was
specified (when protocol 30 or above is in effect).
例如,日志格式 %i %f B:%l md5:%C
将记录类似于
的每次传输
>f+++++++++ 00/64235/0664eccc-364e-11e2-af18-57a6d04fd4d5 B:16035388 md5:8ab769aa5224514a41cee0e3e2fe3aad
请注意,这是为验证传输完整性而计算的 md5 和 - 即使没有 --checksum
标志的传输也可用。
如果传输的一侧是 3.1.0
或更新版本,此更改还允许记录校验和。例如,您可以在目标机器上使用较新的 rsync 守护进程来执行校验和日志记录,但只要使用 md5(3.0.0
或更高版本)就可以使用较旧的 rsync 客户端发送。
我必须在两台 Linux 服务器之间传输数百万个不同大小的文件,总计将近 100 TB。第一次使用 rsync 很容易做到这一点,而且非常安全,因为数据可以校验和。
但是,我需要保留一个文件列表及其校验和,以便将来定期进行一些检查。
有没有办法告诉 rsync print/log 文件的校验和? 如果这不可行:考虑到性能非常重要,您会推荐哪个 tool/command?
提前致谢!
自 rsync 3.1.0(2013 年 9 月 28 日发布)以来,可以在日志记录中包含传输 md5 校验和:
Added the "%C" escape to the log-output handling, which will output the MD5 checksum of any transferred file, or all files if --checksum was specified (when protocol 30 or above is in effect).
例如,日志格式 %i %f B:%l md5:%C
将记录类似于
>f+++++++++ 00/64235/0664eccc-364e-11e2-af18-57a6d04fd4d5 B:16035388 md5:8ab769aa5224514a41cee0e3e2fe3aad
请注意,这是为验证传输完整性而计算的 md5 和 - 即使没有 --checksum
标志的传输也可用。
如果传输的一侧是 3.1.0
或更新版本,此更改还允许记录校验和。例如,您可以在目标机器上使用较新的 rsync 守护进程来执行校验和日志记录,但只要使用 md5(3.0.0
或更高版本)就可以使用较旧的 rsync 客户端发送。