rsync 백업 전략은 손상된 파일 동기화를 어떻게 방지합니까?

rsync 백업 전략은 손상된 파일 동기화를 어떻게 방지합니까?

자동 백업에 rsync를 사용하는 경우 손상된 소스의 파일 동기화를 방지하려면 어떻게 해야 합니까?

예를 들어:

정기적으로 /source/*.*다른 물리적 디스크와 자동 동기화 됩니다 . /destination/*.*파일이 업데이트될 때마다 rsync가 실행될 때 업데이트된 파일을 대상에 복사합니다./source/destination

하드 드라이브 오류로 인해 손상된 파일 복사를 방지하는 방법은 무엇입니까? 분명히 손상된 파일을 백업 드라이브에 복사하고 싶지 않습니다.

동기화할 항목을 결정하는 두 가지 모드가 있습니다.

파일 체크섬을 수행하기 위한 체크섬 -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

인식할 수 없습니다.소스가 손상되었습니다.". 당신이 할 수 있는 일은 더 이상 읽을 수 없는 하나 이상의 디스크 블록이 기록된 파일을 식별하는 것입니다. 그러나 이는 당신의 기준을 충족하는 가능한 세트의 하위 집합일 뿐입니다.

제안한 대로 -u( ) 플래그는 대상에서 최신 수정 시간이 있는 파일을 읽고 업데이트하지 않도록 --update지시합니다.rsync다른 속성과 상관없이또는 수정 시간과 크기가 동일합니다.

더 나은 접근 방식은 rsnapshotext4 대상(NTFS 또는 FAT/exFAT 아님)에 백업 복사본을 만들고 smartctl소스에서 SMART 디스크 검사를 구현하는 것입니다.

관련 정보