rsync
あるSynologyサーバーから別のサーバーへの大規模フォルダーでチェックサム比較タスクを実行しようとしています。
rsync
私が得たいのは、現在のフォルダとフォルダが最後に実行された方法、つまり削除、追加、または変更されたファイルの違いを示す出力です。
しかし、私が得た出力は大きすぎます。フォルダ内のすべてのファイルが含まれているようです! (このファイルはファイル名のみを含む14 MBのファイルです。rsyncを実行しているフォルダの実際の内容は6TBです。)
これ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
しかし、私が言ったように、update_files.txtは3回目の実行でも最終的に大きくなりました。私は何が間違っていましたか?
これらのフォルダを比較して差分出力を生成する別のより簡単な方法がある場合は、提案します。