rsyncバックアップ戦略は、破損したファイルの同期をどのように防ぐのですか?

rsyncバックアップ戦略は、破損したファイルの同期をどのように防ぐのですか?

自動バックアップにrsyncを使用している場合に破損したソースのファイル同期を防ぐにはどうすればよいですか?

たとえば、

定期的に/source/*.*他の物理ディスクと自動同期されます。/destination/*.*ファイルが更新されるたびに、rsyncが実行されたときに更新されたファイルをターゲットにコピーします。/source/destination

ハードドライブのエラーが原因で破損したファイルのコピーを防ぐ方法は?明らかに破損したファイルをバックアップドライブにコピーしたくありません。

同期する項目を決定する2つのモードがあります。

ファイルチェックサムを実行するためのチェックサム-cスイッチです。

-c, --checksum
      This changes the way rsync checks if the files have been changed
      and  are in need of a transfer.  Without this option, rsync uses
      a "quick check" that (by default) checks if each file’s size and
      time of last modification match between the sender and receiver.
      This option changes this to compare a 128-bit checksum for  each
      file  that  has a matching size.  Generating the checksums means
      that both sides will expend a lot of disk I/O  reading  all  the
      data  in  the  files  in  the transfer (and this is prior to any
      reading that will be done to transfer changed  files),  so  this
      can slow things down significantly.

そして-uスイッチフラグ:

-u, --update
  This  forces  rsync  to  skip  any  files  which  exist  on  the
  destination  and  have  a  modified  time that is newer than the
  source  file.   (If  an  existing   destination   file   has   a
  modification time equal to the source file’s, it will be updated
  if the sizes are different.)

この場合、明らかに目的の-c動作はありません。ソースファイルが破損している場合は、別のチェックサムがあり、バックアップにコピーされます。

私の仮定は、これが-u私が望むことを正確に行うことです。破損したファイルはバックアップドライブのバージョンとmtimeが同じであるため、ソースが破損してもファイルはコピーされません。

私の質問は、-uここでファイルコピーを使用するのに十分なバックアップ戦略ですか?です。

それとも、異なるアプローチやまったく異なるツールを検討する必要がありますか?

ベストアンサー1

認識できません。ソースが破損しています。「あなたができることは、もはや読み取れない1つ以上のディスクブロックが書き込まれたファイルを識別することです。しかし、これはあなたの基準を満たす可能性のあるセットのサブセットだけです。

提案されているように、-u()フラグはターゲットが最新の修正時間を持つファイルを読み取って更新しないように--update指示します。rsync他の属性に関係なくあるいは、修正時間とサイズは同じです。

より良いアプローチは、rsnapshotext4ターゲット(NTFSまたはFAT / exFATではない)にバックアップコピーを作成し、ソースにsmartctlSMARTディスクチェックを実装することです。

おすすめ記事