Linux에서 양방향 파일 동기화를 설정해 보세요.

Linux에서 양방향 파일 동기화를 설정해 보세요.

저는 상당히 작은 데이터 세트에 대해 Linux에서 양방향 파일 동기화를 설정하려고 합니다. WAN을 통해 데이터를 복제하고 싶기 때문에 gluster와 같은 분산 파일 시스템은 관심이 없습니다. 속도가 느립니다(특히 PHP 애플리케이션과 같은 크고 작은 파일을 읽는 경우). 이 저장소의 Gluster 성능이 매우 낮습니다. 웹 애플리케이션 호스팅 솔루션을 위해 이것을 복사하고 싶습니다.)

나는 lsyncd, incron, inotify 및 물론 rsync 또는 unison과 같은 일부 메커니즘을 알고 있지만 이들을 하나로 묶는 것은 어렵습니다. 가장 어려운 부분은 양방향 동기화가 있을 때입니다. 왜냐하면 알림 시스템이 동일한 파일을 양방향으로 보내고 있기 때문입니다.

(새 파일, 알림) ---rsync---->두번째(새 파일은 아니지만 inotify가 이를 모르기 때문에 알림도 받을 것입니다.)

두번째---동일한 파일을 재동기화---->

동기화를 위해 호스트 간 rsync를 구성하기 위해 FIFO 방식을 사용해 보았지만 각 파일 알림(예: 1000개의 새 파일 = 1000개의 알림)으로 인해 fifo가 커지고 이러한 알림이 한 번에 2개의 호스트에서 혼합되기 때문에 여전히 최선의 방법은 아닙니다. FIFO이므로 실제로 일괄 처리할 수 없습니다. 가장 깨끗한 해결책은 어떻게든 inotify/lsyncd를 살펴보고 모니터링 파일 시스템이 rsync 또는 ssh 프로토콜을 통해 데이터를 수신할 때 이를 알려주는 것입니다.해서는 안 된다Apache 또는 proftpd가 작성 중일 때 알림을 보냅니다.~해야 한다알림을 보냅니다. rsync용 FIFO와 일부 잠금/로드 분산 시스템을 갖춘 간단한 복제 컨트롤러만 있으면 안정적인 양방향 동기화 솔루션을 구축하기에 충분합니다.

이런 것을 만들어 본 사람이 있나요?

관련 정보