사용자 1두 컴퓨터 간의 양방향 동기화를 원합니다.사용자 1예 회원그룹 2그리고 권한이 없는 SSH 터널이 있습니다. 다음과 같은 많은 파일과 디렉터리가 있습니다.
rwxrwx--- userN group2 enclair/WEB/CLIENTS/VictorMarty
일부 파일은 두 시스템 모두에서 편집되었으므로 수동으로 병합해야 했습니다. 따라서 저는 양쪽에서 작업하기 위해 rsync 대신 Unison을 선택했습니다.
unison을 위한 기본 설정 파일:
perms = -1
#group = true
#owner = true
times = true
내가 사용하는 양방향 동기화 명령은 다음과 같습니다.
$ unison "profile" -perms 0 -dontchmod
출력/결과:
...
UNISON 2.48.3 finished propagating changes at 02:29:24.90 on 13 Sep 2015
Saving synchronizer state
Synchronization incomplete at 02:29:25 (0 items transferred, 1 skipped, 60 failed)
failed: enclair/WEB/CLIENTS/VictorMarty
times
profile.prf 파일에 주석을 달아 작동하게 할 수 있습니다. 이 과정에서 mtime 메타데이터가 손실됩니다.
나는 다른 쪽에서 sudo unison과 sudo를 할 수 있다는 것을 보았습니다 --server-cmd
. 그래서 unison은 실제로 루트로 실행되지만 연결은 여전히 일반 사용자로 유지됩니다.
파일 수정 시간을 유지하기 위해 양방향 동기화를 구현하는 방법입니까? user1을 유지하는 것이 가장 좋습니까?
답변1
동기화에 필요한 기간에 따라 두 개의 rsync 프로세스를 사용할 수 있습니다. rsync -au <source> <dest>
각 호스트에서 실행할 크론 작업을 설정합니다 . 이렇게 하면 특정 시간 내에 두 호스트가 "동기화"됩니다. 파일이 변경되면 inotify를 사용하여 rsync를 실행할 수도 있습니다.