長すぎる。
ファイルを実行した後はrsync -aPc --no-inc-recursive --stats <source> <destination>
異なります。
ホームラップNASを修理していますが、ファイルがまったく同じであることを確認したいと思います。
私のシステム仕様:
- Proxmox VMで動作するopenmediavault 5.6.13-1(Debian)
- ソースファイルシステム:EXT4
- ターゲットファイルシステム:EXT4
- ドライブはSATAケーブルを介してマザーボードに接続されています。
バックグラウンドで実行されるスクリプトを作成しました。まず、ファイルを同期してから比較してバックアップを確認します。
echo "rsync /documents"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/documents /srv/dev-disk-by-uuid-ID2
echo "rsync /photos"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/photos /srv/dev-disk-by-uuid-ID2
echo "rsync /movies"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/movies /srv/dev-disk-by-uuid-ID2
echo "rsync /music"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/music /srv/dev-disk-by-uuid-ID2
echo "rsync /downloads"
rsync -aPc --no-inc-recursive --stats /srv/dev-disk-by-uuid-ID1/downloads /srv/dev-disk-by-uuid-ID2
echo "cmp all start"
find /srv/dev-disk-by-uuid-ID1 -type f -exec sh -c '
for f; do
cmp "$f" /srv/dev-disk-by-uuid-ID2"${f#/srv/dev-disk-by-uuid-ID1}"
done
' sh {} +
echo "cmp all finish"
cmpコマンドは、次の「エラー」を提供します/srv/dev-disk-by-uuid-ID1/photos/DSC01010.ARW /srv/dev-disk-by-uuid-ID2/photos/DSC01010.ARW differ: byte 70406147, line 285859
。
これらの問題の原因は何ですか?
ファイルが正しくコピーされたことをどのように確認しますか?
答え1
rsync
私が見たすべてのエラーは、RAMエラーまたはファイルシステムの破損(ある場合は緩いSCSIケーブル)が原因で発生しました。 Memtest86+を使用してRAMを確認し、e2fsck
ファイルシステムで実行して問題を見つけたり修正したりできます。
すべてのハードウェアコネクタが所定の位置にあり、正しく動作していることを確認してください(SCSI / IDE / SATA / USBケーブルが緩んでいる)。
USBスティックを過度に使用すると、rsync
時間の経過とともにこれらのスティックが磨耗し、通常はシステムの起動時にfsckを実行しないため、エラーは簡単に検出されません。簡単なアプローチe2fsck/fsck
も役に立ちます。