기본적으로 이동 또는 이름이 바뀐 파일을 감지하여 이름이 변경되거나 이동 된 파일 목록을 얻고 네트워크의 다른 쪽 끝에서 동일한 작업을 적용하여 대역폭을 절약 할 수있는 도구 또는 스크립트가 있는지 확인하려고합니다.
기본적으로 디스크 스토리지는 저렴하지만 대역폭은 크지 않으며 문제는 파일을 종종 더 나은 디렉토리 구조로 재구성하거나 이동하여 rsync를 사용하여 백업을 수행 할 때 rsync가 이름이 바뀌 었음을 알 수 없다는 것입니다. 다른 쪽 끝에 같은 파일이 있더라도 파일을 이동하고 네트워크를 통해 다시 전송합니다.
따라서 모든 파일의 위치와 이름을 기록 할 수있는 스크립트 또는 도구가 있는지 궁금한 다음 백업 직전에 이동하거나 이름이 바뀐 파일을 다시 검색하고 감지 한 다음 해당 목록을 가져 와서 다시 적용 할 수 있습니다 다른 쪽의 이동 / 이름 변경 작업
파일의 "일반"기능 목록은 다음과 같습니다.
- 변하지 않는 큰 파일
- 이름을 바꾸거나 이동할 수 있습니다.
[편집 :] 이것들은 모두 좋은 대답이며, 결국 내가하는 일은 모든 답을보고 있었고 이것을 처리하기위한 코드를 작성할 것입니다. 기본적으로 지금 생각하고 / 현재하고있는 것은 :
- "초기"스캔에 AIDE와 같은 것을 사용하면 파일이 변경되지 않아야하기 때문에 파일에 체크섬을 유지할 수 있으므로 손상을 감지하는 데 도움이됩니다.
- 이러한 파일 / 디렉토리를 모니터링하는 inotify 데몬을 만들고 파일 이름 변경 및 로그 파일로 파일 이동과 관련된 변경 사항을 기록합니다.
- inotify가 파일 시스템에 무슨 일이 있었는지 기록하지 못하는 경우가 있습니다. 따라서 find를 사용하여 파일 시스템에서 마지막 백업 보다 변경 시간이 늦은 파일을 검색 하는 마지막 단계가 있습니다 .
여기에는 몇 가지 장점이 있습니다.
- 일부 미디어가 손상되지 않았는지 확인 / 확인할 수있는 AIDE의 체크섬 / 등
- Inotify는 리소스 사용량을 낮게 유지하며 파일 시스템을 계속해서 다시 검색 할 필요가 없습니다.
- rsync를 패치 할 필요가 없습니다. 내가 할 수있는 것을 패치해야한다면 부담을 낮추기 위해 패치하는 것을 피하고 싶습니다 (IE는 업데이트가있을 때마다 다시 패치 할 필요가 없습니다).
- 나는 이전에 Unison을 사용했는데 정말 좋았지 만 Unison이 파일 시스템에 사본을 보관하고 "보관"파일이 다소 커질 수 있다고 맹세 할 수 있습니까?