Ubuntu / Linux에 복사 및 검증 명령이 있습니까? 9 년

모든 디지털 사진을 두 곳에 백업했습니다. 나는 cp 명령을 사용했지만 개인 가치를 부여 받아보다 안정적인 방법이 있는지 궁금해하기 시작했습니다. 나는 Linux, Bash, Perl 등에 익숙하지 않으므로 md5 해시를 복사하고 비교할 무언가를 작성할 수는 있지만 이미 존재하는지 (재발 명, 바퀴 및 기타) 궁금합니다.

복사 및 (확인 | 유효 | 확인 | 해시 | 확인)에 대한 대부분의 인터넷 검색은 rsync를 나타냅니다. 그러나 내가 알 수있는 한 rsync는 해시 만 사용하여 파일을 업데이트 해야하는지 확인합니다. 나중에 해시 비교를 수행하지 않습니다.

이를 위해 특히 파일은 이진 파일이며 일반적으로 8-10MB입니다. 유틸리티에 대한 권장 사항이나 DIY 솔루션에 대한 지침은 대단히 감사하겠습니다.



답변

에서 옵션 man rsync아래 -c:

-c, –checksum : 모드 시간 및 크기가 아닌 체크섬을 기준으로 건너 뜁니다.

rsync는 파일이 전송 될 때 생성되는 전체 파일 체크섬을 확인하여 전송 된 각 파일이 수신 측에서 올바르게 재구성되었는지 항상 확인하지만 전송 후 자동 확인은이 옵션과 관련이 없습니다. 전송 전 “이 파일을 업데이트해야합니까?” 검사.


답변

몇 년 전에 나는 당신과 같은 요구를 가지고있었습니다. 내가 선택한 솔루션은 스토리지 서버의 ZFS-FUSE 드라이버를 통해 ZFS를 사용하는 것입니다. 내 생각은 내 개인 사진, 스캔 한 문서 및 기타 유사한 파일이 가끔씩 만 액세스 할 수있는 파일이므로 파일이 손상되어 파일이 손상된 것을 알기까지 1 년 이상이 걸릴 수 있습니다. 드라이브 에러 등.

그때까지 내가 가진 모든 백업 사본은이 비트 회전 된 파일 버전 일 수 있습니다.

ZFS는 데이터를 읽는 동안 드라이브가 읽기 오류를보고하지 않더라도 개별 디스크에 저장된 데이터의 오류를 감지하고 복구 할 수 있다는 점에서 RAID-5에 비해 이점이 있습니다. 체크섬을 통해 디스크 중 하나가 손상된 정보를 반환했음을 감지하고 중복 데이터를 사용하여 해당 디스크를 복구합니다.

ZFS의 체크섬이 설계되는 방식으로 인해 자주 사용하지 않는 데이터를 장기간 저장하는 데 의존 할 수 있다고 생각했습니다. 매주 “zpool scrub”을 실행하여 모든 데이터를 읽고 다시 읽고 체크섬을 확인합니다.

ZFS-FUSE는 지난 몇 년 동안 저에게 아주 좋은 성과를 보여주었습니다.

먼 옛날, 클라이언트의 경우 특정 디렉토리에 저장된 모든 파일에 체크섬 정보를 저장하는 데이터베이스 시스템을 구현했습니다. 그런 다음 주기적으로 실행되는 다른 스크립트를 사용하여 데이터베이스에 저장된 체크섬에 대해 파일을 확인했습니다. 이를 통해 손상된 파일을 신속하게 감지하고 백업에서 복원 할 수 있습니다. 우리는 기본적으로 ZFS가 내부적으로 수행하는 것과 동일한 종류의 검사를 구현했습니다.


답변

https://sourceforge.net/projects/crcsum/
체크섬 검증으로 Linux cp 및 mv를 확장합니다.


답변

원하는 유틸리티 (로그로 해시 된 복사 + 해시 확인)를 수행하는이 유틸리티 (Linux 및 Windows)를 발견했습니다 .http : //sourceforge.net/projects/quickhash/

유일한 단점은 GUI로만 존재한다는 것입니다 (명령 줄 액세스 없음)

v1.5.0부터 선택한 소스 폴더를 해시 한 다음 대상 폴더로 복사 및 재구성하여 내용을 다시 해시하여 확인할 수 있습니다. 1.5.5부터 선택한 파일 마스크도 사용할 수 있습니다 (* .doc; * .xls 등).


답변

파일을 로컬로 복사하는 경우 ( 등 이 cp아닌 참조로 암시 된 것처럼 scp) cmp소스 및 대상 파일 만 …하지만 실제로 cp는 명령 줄이나 실행 반환 값), 작동하지 않는다고 믿을 이유가 없습니다.

실제로 중복 백업을 원한다면 dropbox 와 같은 원격 솔루션을 고려하십시오. .


답변