디스크 헤드 불량, 모터 불량 또는 하드 드라이브가 데이터를 매우 느리게 읽고 많이 읽는 다른 문제와 같은 잠재적 인 기계적 문제로 인해 읽기에 실패한 불량 블록 또는 섹터가있는 하드 드라이브가 있습니다 읽기 오류 평균 50KB / 초가 표시되고 일부 읽기는 10KB / 초 미만으로 떨어지며 일반적으로 파일 또는 섹터에 보통 2-10 분 이상 (일반적으로 2-10 분 이상) 시간이 초과되기 전에 rsync 사용).
속도가 크게 변하는 것처럼 보이며 파일에 많은 영향을 미치며 마지막으로 "고정되지 않은"상태가되면 다시 멈추기 전에 짧은 버스트 동안 만 지속되는 것 같습니다. 드라이브는 가끔씩 파일을 복사하는 소리만으로 매우 조용합니다 (일반적으로 잠시 멈추거나 잠기지 않은 경우 다시 끼기 전에). 따라서 일반적으로 HDD 사망과 관련된 사악한 소리는 없습니다. 누군가는 잘못 정렬 된 디스크 헤드로 인해 문제가 발생한 것처럼 들렸다 고 제안했습니다. 데이터 헤드를 성공적으로 읽기 전에 많은 다시 읽기가 필요합니다. 그럴듯 해 보이지만
어쨌든 rsync의 문제점은 적절한 오류 처리 지원이없는 것입니다. 분명히, 그것은 고장난 하드 드라이브에서 데이터를 복구하는 데 사용하기위한 것이 아니라, 그러한 용도로 사용되는 소위 "데이터 복구"유틸리티 는 일반적으로 삭제 된 파일 또는 엉망 파티션의 복구에 중점을 둡니다. 죽어가는 하드 드라이브에서 파일을 복사합니다. 삭제 된 파일 복구는 내가 필요로하는 것이 아니며, 따라서 내가 아직 찾은 것을 찾을 수 없다는 실망감을 이해할 수 있습니다.
당연히이 곳은 아마도 "당신은 ddrescue를 사용해야합니다!"라고 말할 것입니다. 글쎄, 그것은 훌륭하고 멋지지만, 나는 이미 대부분의 데이터를 백업 했으므로 특정 파일을 복구하고 싶습니다. ddrescue와 마찬가지로 블록별로 전체 파티션을 복구하려고 시도하는 것에 대해서는 걱정하지 않습니다. 특정 파일과 디렉토리 만 구조하는 데 관심이 있습니다.
이상적으로, 내가 원하는 것은 rsync와 ddrescue 사이의 일종의 십자가입니다. 소스와 대상을 rsync와 같은 일반 파일의 디렉토리로 지정할 수있게하는 것 (ddrescue에 필요한 두 개의 전체 파티션이 아닌)과 파일을 건너 뛸 수있는 방법 초기 실행에서 오류가 발생했다가 나중에 실행시 오류가있는 파일을 복구 할 수 있습니다 (물론 약간 변경된 명령 사용). 재시도 횟수를 지정하는 옵션도 제공합니다. ddrescue가 블록과 어떻게 작동하는지, rsync와 같은 특정 파일 / 디렉토리와 작동하는 유틸리티 만 원합니다.
그래서 나는 여기서 공상을하고 있습니까, 아니면 이것을 할 수있는 무언가가 있습니까? 아니면 rsync 또는 ddrescue를 이런 식으로 작동시키는 방법일까요? 어떤 "솔루션"할 파일을 선택하고 초기 실행에서 오류가있는 파일을 건너 뛸 수 있고 나중에 해당 오류를 다시 시도 / 재 시도 할 수있는 한 어떤 솔루션이든 작동 할 수 있습니다.
지금까지 다음 옵션을 사용하여 rsync를 시도했지만 시간 초과보다 오랫동안 파일에 걸리는 경우가 많으며 이상적으로 다음 파일로 이동하여 나중에 가져 오는 파일로 다시 돌아가고 싶습니다. 붙어. 그래도 가능하지 않다고 생각합니다. 어쨌든, 지금까지 내가 사용했던 것이 있습니다.
rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/