
집에 있는 여러 컴퓨터 간에 개인 문서 저장소를 동기화하고 싶습니다. 현재 이 폴더는 듀얼 부팅 워크스테이션 하드 드라이브의 전용 파티션 아래에 있습니다.
내 구성은 다음과 같습니다.
- Ubuntu 11 및 Windows XP를 실행하는 듀얼 부팅 워크스테이션(문서는 전용 파티션을 사용하여 간단히 공유됨)
- Ubuntu 12.04를 실행하는 노트북(현재 문서에 액세스할 수 없음)
- 외장 하드 드라이브가 연결된 프리박스
내가 원하는 것은 이 문서 폴더를 노트북과도 동기화하고 프리박스에 연결된 하드 드라이브에 "백업"할 수 있는 것입니다.
이를 위해 어떤 도구를 사용해야 합니까( rsync
, unison
, 기타?)
답변1
항상 같은 방향으로 동기화하는 경우 rsync를 사용하세요. 양방향으로 동기화하는 경우 unison을 사용하세요. Unison은 Linux와 Windows를 모두 지원합니다. 설명서에서는 Windows에서 설정하는 방법을 설명합니다(SSH 클라이언트도 필요함).
세 개 이상의 위치를 동기화하려면 하나를 마스터로 선택하고 다른 모든 위치를 마스터와 동기화하세요. 여기에서는 워크스테이션과 노트북을 모두 설정하여 Freebox와 동기화합니다.
Freebox에는 Unison 바이너리가 있어야 합니다. Linux를 실행하고 x86 프로세서가 있으므로 아직 unison이 없는 경우 32비트 Linux 설치에서 바이너리를 복사할 수 있습니다.
답변2
rsync는 여러 위치에서 동일한 문서에 대한 업데이트를 자동으로 처리하지 않기 때문에 귀하의 청구서에 적합하지 않다고 생각합니다. 파일 삭제도 마찬가지입니다. 이 작업을 수동으로 수행할 수 있지만 어느 시점에서는 문제가 발생할 수 있습니다.
나는 unison을 사용해 본 적이 없지만 귀하의 사용 사례에 적합한 도구인 것 같습니다.
즉, Mercurial, Git, Bazaar 등과 같은 분산 버전 제어 시스템에 대해서도 언급하고 싶습니다. 이 시스템에는 문서의 이전 버전을 잃지 않는다는 추가적인 이점이 있습니다. 그러나 텍스트 파일을 처리하는 데 가장 적합합니다. LibreOffice 문서와 같은 바이너리는 동일한 문서가 여러 시스템에서 변경되면 더 많은 작업이 필요합니다.
업데이트:세 번째 머신에 실제 백업을 갖고 싶다면 별도의 백업 솔루션을 사용하는 것을 고려해야 합니다. 그렇게 하면 오래된 파일이 유지되기 때문입니다. rsync도 그렇게 할 수 있지만(옵션을 생략하면 --delete
) 어느 시점에서는 다시 문제가 발생합니다. 오래된 파일이 문서 폴더를 채우고 이전 파일과 이름이 같은 새 파일이 삭제된 파일을 덮어쓰게 됩니다.
이를 위해 dejadup, duplicity, rsnapshot 또는 rdiff-backup과 같은 간단한 백업 시스템을 사용할 수 있습니다.
답변3
SSH를 통해 rsync를 사용합니다. 백업의 경우 다음 트릭을 사용할 수 있습니다.
http://www.mikerubel.org/computers/rsync_snapshots/
기본적으로 SSH 키와 cron 작업을 사용하여 rsync를 설정했습니다. 위의 링크는 그 중 대부분(또는 전부)을 다룹니다.
저도 백업용으로 이중성을 사용하는데 추천하기가 망설여지네요. 작동하지만 다루기 어렵습니다.