내장 하드 드라이브에서 외장 드라이브로 50 + GB (다른 형식을 포함한 30,000 파일)의 파일을 복사 한 후 모든 것이 올바르게 복사되었는지 확인할 수있는 방법이 있습니까? 또한 작업을 취소하여 중간에 멈추고 나중에 작업을 계속할 때 병합을 말하면 정확성이 떨어질까요?
나는 같은 응용 프로그램을 사용할 수는 back-in-time
있지만 파일을 복사 할 때 매우 선택의 여지가 있으며 다음에 copy
는 merge
대신 작업 을 사용하려고합니다 replace
. 많은 수의 파일을 복사 할 때 권장됩니까?
답변
해시 딥 을 사용하여 백업 / 복원을 확인하고 때로는 RAID에서 파일 시스템 손상을 확인합니다.
속도는 사용하는 해시 함수 (일부는 다른 CPU보다 CPU를 많이 사용함)와 디스크의 읽기 속도에 따라 다릅니다. 내 시스템 hashdeep
에서 md5 및 300MB / s 읽기 속도로 시간당 약 1TB를 처리하거나 확인할 수 있습니다.
체크섬을 계산하여 파일에 저장하는 예 :
cd my-data
hashdeep -rlc md5 . > ~/checksums.txt
매개 변수 :
r
– 재귀l
– 상대 경로 사용c
– 해시 함수 지정.
– 현재 디렉토리에서 재귀 시작>
– 출력을 지정된 파일로 경로 재 지정
참고 항목 man 페이지를 .
체크섬 확인 및 차이점 목록 인쇄에 대한 예 :
$ cd /mnt/my-backup
$ hashdeep -ravvl -k ~/checksums.txt .
hashdeep: Audit passed
Files matched: 40914
Files partially matched: 0
Files moved: 0
New files found: 0
Known files not found: 0
매개 변수 :
a
– 감사 (알려진 체크섬 목록과 비교)v
– 상세 (A 불일치의 목록을 얻기 위해, 여러v
의 수단 더 자세한)k
– 알려진 해시 파일
2016 년 3 월 현재 포기 된hashdeep
것으로 보입니다 .
답변
rsync에 대한 완벽한 작업처럼 보입니다 . Rsync는 diff를 비교하고 복사합니다.
rsync
내가 질문을보고 유틸리티를 먼저 내 마음 떠올랐다. 아래와 같은 작업을 수행하면 디렉토리에 a
있지만 파일에 없는 파일을 빠르게 표시 할 수 있습니다 b
.
$ rsync -rcnv a/* b/
-r will recurse into the directories
-c will compare based on file checksum
-n will run it as a "dry run" and make no changes, but just print out the files
that would be updated
-v will print the output to stdout verbosely
파일의 내용을 비교하고 일치하는지 확인할 수 있기 때문에 이것은 좋은 옵션입니다. rsync
델타 알고리즘은 이러한 유형의 사용 사례에 최적화되어 있습니다. 그런 다음 b
의 내용과 일치 시키 a
려면 -n
옵션을 제거 하여 실제 동기화를 수행하면됩니다.
몇 가지 관련 질문 :
답변
GUI 앱이 파일 및 디렉토리 비교 도구 에서 제안한 경우 ? 당신을 위해 그것을하지 마십시오, diff -rq /path/to/one /path/to/other
조용히 두 디렉토리를 통해 재귀를 시도 하고 화면의 차이점 만 기록하십시오.
답변
당신이 말하는 상황이 너무 복잡합니다. 복사하려는 모든 파일의 MD5를 계산하는 스크립트를 작성하고 나중에 복사 한 파일과 비교할 수 있습니다.
- http://dll.nu/md5i/
- http://www.unix.com/unix-desktop-dummies-questions-answers/156854-script-compare-md5.html
간단하고 빠른 것을 원한다면 (매우 복잡한 시나리오에서는 작동하지 않을 것입니다) Meld 를 사용할 수 있습니다
sudo apt-get install meld
답변
“모든 것이 올바르게 복사되면”체크섬을 포함하는 수정 된 cp (또는 mv)를 사용합니다 (선택적으로 xattr에 저장되므로 소스에 대해 한 번만 계산해야 함)
http://sourceforge.net/projects / crcsum /