次のコマンドを使用して、rsyncを使用してWindowsドライブから外部HDDにファイルをコピーしたいと思いました。
rsync -azv --progress --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'
exclude.txt
Windows、Program Files、ProgramDataの各フォルダーは必要ないので、持っていました。そこで、上記のコマンドを開始して、スリープ状態にしました。目が覚めたとき、ここに私が得たものがあります:
sent 169,748,362,821 bytes received 3,982,112 bytes 16,898,347.01 bytes/sec
total size is 193,085,110,161 speedup is 1.14
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]
それで、何かがコピーされなかったことを心配する必要がありますか?コマンドdu -hs /media/mint/OS/* | sort -h
そして、私が取得する必要がある合計サイズを計算します。これは約187 GBです(バイト単位のギガバイト単位のrsyncの出力と比較すると:169,748,362,821
-> ~158GB
。 193,085,110,161
-> ~179GB
。)
コピーされなかったファイル/フォルダーを確認できますか?上にスクロールすると、最後の200行が表示され、それらすべてが100%完了しています。
ファイルをもう一度コピーする必要がありますか?または、外付けHDDとWindowsドライブ上のファイルを比較する方法はありますか?
rsync
からの出力全体を保存していない場合、コピーされなかったものを見つける唯一の方法は、比較のために別の走査を実行することです。 rsyncをもう一度実行することもできます。その目的は、すでに転送されているものを転送することではありません。退屈な出力に圧倒されないように、-v
パラメータを渡さないでください。
rsync -aq … 2>rsync.err
(rsync -anq …
を使用すると、転送せずに比較できますが、コピーを作成しただけでは何もコピーされないため、このシナリオでは-n
は違いを生じません。)
コピー元もコピー先も変更されていない場合、オプションはrsync
を-n
スイッチで再度実行して、データをコピーせずに何が転送されるかを確認することです。 -q
を追加すると、通常の出力が抑制され、転送できなかったファイルのみが表示されます。
rsync -azvqn --exclude-from '/home/mint/exclude.txt' '/media/mint/OS/' '/media/mint/external_hdd/C_drive_backup/'