rsyn에 대해 알고 있으며 rsync를 사용하여 다음과 같이 Mac과 Linux 서버간에 동기화합니다.
rsync -r -t -v MAC LINUX
rsync -r -t -v LINUX MAC
동기화하려면 첫 번째 명령을 실행해야했지만 Linux에서 변경을 수행 할 때 두 번째 명령도 필요했습니다.
뭔가 빠졌습니까? rsync에는 두 디렉토리간에 동기화 할 수있는 옵션이 있습니까?
답변
양방향 동기화를 원합니다. 이 작업을 수행하는 unison을 살펴보십시오. http://www.cis.upenn.edu/~bcpierce/unison/
예를 들어, 데비안 / 우분투에서 :
$ sudo apt-get install unison
$ unison MAC/ LINUX/
권한에 문제가있는 경우 (예 : ext4-> FAT) :
$ unison -perms 0 vlc-2.2.0/ /media/sf_vlc/vlc
Contacting server...
Looking for changes
Reconciling changes
vlc-2.2.0 vlc
new dir ----> / [f]
Proceed with propagating updates? [] y
Propagating updates
답변
rsync는 실제로 개발자가 양방향 동기화에 권장하지 않습니다 . 이미 권장 된 unison 유틸리티가 더 나은 솔루션입니다.
또한 rsync를 사용할 때 많은 Mac 관련 HFS +를 처리해야 할 수도 있습니다. 따라서 Mac에서 올바르게 패치 된 rsync3을 사용하거나 수정 날짜와 관련된 문제를 예상하십시오 (Mac OS X를 사용하여 rsync 2.6.9를 제공 한 경우). Mac 용으로 올바르게 패치 된 rsync 3을 빌드하는 방법을 모른다면 그것을 포함하는 mlbackup을 얻으십시오. (전체 공개 : 나는 mlbackup의 저자입니다.) github에서 가져 와서 다운로드에서 전체 패키지를 다운로드하십시오. mlbackup 저장소에는이 경우 원하는 rsync 3이 포함되어 있지 않습니다.
http://github.com/MacLemon/mlbackup
답변
또한 오픈 소스이며 기본 양방향 동기화를 제공하는 csync 도 살펴 봐야 합니다.
참고로-내가 아는 한-csync는 Samba 팀의 사람들이 개발했습니다. 삼바 팀도 rsync를 개발했다는 것을 알고 이것을 품질의 토큰으로 생각합니다.