두 디렉터리를 동기화할 때 반복적인 디렉터리 탐색을 방지하는 방법은 무엇입니까? [폐쇄]

두 디렉터리를 동기화할 때 반복적인 디렉터리 탐색을 방지하는 방법은 무엇입니까? [폐쇄]

다음에서 쓸모없는 재귀 디렉터리 탐색이 많이 보입니다.

  • 동기화
  • 일관된
  • 자신의 클라우드

위의 모든 응용 프로그램(그리고 더 많은 응용 프로그램)은 반복적으로 디렉터리 탐색을 반복합니다. 응용프로그램은 파일(디렉토리 구조의 깊은 곳)이 변경되었는지 알지 못하기 때문입니다.

Inotify가 존재하지만 AFAIK는 수천 개의 디렉터리로 확장되지 않습니다.

해결책이 없는 것 같아요. 하지만 아마도 내가 뭔가를 놓치고 있는 것 같습니다.

이 파일을 예로 들어 보겠습니다.

a/b/c/d.txt

서버 A와 B도 있습니다.

백만 개 이상의 파일과 디렉터리가 있는 경우 위의 모든 응용 프로그램은 파일의 mtime이 변경되었는지 확인해야 합니다.

더 빠른 방법은 없을까요?

파일의 mtime 변경 사항이 상위 디렉터리까지 올라가는 경우 두 서버 모두에서 상위 디렉터리의 mtime을 확인하는 것으로 충분합니다. 이렇게 하면 응용 프로그램이 불필요한 변경 사항 검색을 건너뛸 수 있습니다.

질문: 두 디렉터리를 동기화하기 위해 반복적인 디렉터리 탐색을 방지하는 방법은 무엇입니까?

궁금하신 점이나 더 자세한 내용이 필요하시면 댓글을 남겨주세요. 감사해요.

답변1

이러한 유틸리티가 모두 변경된 파일을 검색하기 위해 재귀 디렉터리 탐색을 사용하는 이유가 있습니다. 더 좋은 방법은 없습니다.

Inotify가 존재하지만 AFAIK는 수천 개의 디렉터리로 확장되지 않습니다.

그뿐만 아니라 지속적으로 들어야 하고(예: 데몬으로서) 업데이트를 놓친 경우 모든 것을 다시 확인해야 합니다.

더 빠른 방법은 없을까요?

아니요, 죄송합니다.

좋은 아이디어가 있으면 게시해 주세요(그러나 Q&A 사이트는 그런 아이디어를 올릴 수 있는 곳이 아닙니다)!

관련 정보