校验和比较文件太大

校验和比较文件太大

rsync我正在尝试对从一台 Synology 服务器到另一台服务器 的大文件夹运行校验和比较任务。

我想要得到的是一个输出,它显示当前文件夹和该文件夹上次rsync运行方式之间的任何差异 - 即已删除、添加或更改的任何文件。

但我得到的输出太大了 - 它似乎包括文件夹中的每个文件! (这是一个仅包含文件名的 14 MB 文件 - 运行 rsync 的实际内容文件夹为 6 TB)。

这是rsync任务:

/usr/bin/rsync -ac --log-file="/volume1/NAS/backup_logs/logs/log.$(date +%Y%m%d%H%m%S).txt" --delete --times --sparse -e "ssh -p {port number}"  /volume1/source_folder [email protected]:/volume1/destination_folder 

运行后rsync,我生成一个校验和文件:

find /volume1/source_folder -type f -print0 | xargs -0 md5sum > /volume1/NAS/checksums/checksums_backup.$(date +%Y%m%d).txt

然后我将校验和文件与前一个文件进行比较(这第一次不起作用):

grep -Fxvf /volume1/NAS/checksums/checksums_backup.$(date +%Y%m%d).txt /volume1/NAS/checksums/yesterdays_checksums.txt > /volume1/homes/username/checksums/updated_files.txt

然后我将校验和复制为之前的校验和:

cp /volume1/NAS/checksums/checksums_backup.$(date +%Y%m%d).txt /volume1/NAS/checksums/yesterdays_checksums.txt

但就像我说的,updated_files.txt 最终太大了,即使在第三次运行时也是如此。我究竟做错了什么?

如果有另一种更简单的方法来比较这些文件夹并生成差异输出,我愿意接受建议。

相关内容