수십만 개의 파일이있는 큰 폴더에서 파일 중복 제거기를 사용했습니다. 중복 제거기는 탐지 된 모든 중복 파일에 대한 하드 링크를 만들었습니다.
동일한 파일에 대한 일부 하드 링크가 포함 된 일부 디렉토리를 병합하려고 시도하고 대상을 겹쳐 쓰려면 파일 손상이 가능할 것으로 예상됩니다.
필자의 경우 파일 시스템은 3.14 커널의 ZFS입니다.
몇 개의 파일이 포함 된 테스트의 경우 경험적 증거에 따라 발생하는 일을 받아들이고 싶지 않습니다. 전원 중단 또는 기타 원치 않는 중단과 같은 다양한 이유로 파일 손상의 위험이 있는지 알기 위해 관련된 프로세스를 정확히 알고 싶습니다.
답변
‘–ignore-existing’인수로 rsync를 사용하는 경우 복제본을 감지하고 다른 모든 것을 복사해야했습니다.
rsync -ra --ignore-exisiting /path/to/source /path/to/destination
나는 동일한 파일과 그 안에 던져진 일부 하드 링크로 테스트 디렉토리를 몇 개 만들었고 예기치 않은 ‘킨크’를 제거하기 위해 몇 가지 시험을 수행했습니다.
‘-n’플래그를 사용하여 먼저 ‘테스트 모드’에서 실행하여 인수를 올바르게 얻을 수 있습니다.
rsync -ran --ignore-existing /path/to/source /path/to/destination