여러 컴퓨터 간에 홈 폴더를 동기화하는 방법은 무엇입니까?

여러 컴퓨터 간에 홈 폴더를 동기화하는 방법은 무엇입니까?

집에 세 대의 컴퓨터가 있는데 /home/세 대 사이에서 폴더 트리를 동기화하고 싶습니다.
세 컴퓨터 중 하나에서 수정/추가/제거된 모든 파일/폴더(숨겨진 파일 제외)는 다른 두 컴퓨터에서 업데이트됩니다.

~이다rsync이 일을 할 만큼? 그리고 어떻게?

답변1

다음은 잠재적으로 이 문제를 해결할 수 있는 목록입니다. 각 항목은 다르게 설정해야 하는 장단점의 균형을 유지하므로 스스로 선택하고 직접 시도해 봐야 합니다.

  • 조화- 다른 사람들이 언급했듯이 이 작업은 수동으로 실행되지만 매우 빠르고 안정적이며 효과적입니다. 두 컴퓨터가 동시에 켜져 있어야 동기화됩니다. 거의 불가피한 충돌을 처리하고 삭제 내용을 올바르게 추적하고 전파할 수 있는 멋진 사용자 인터페이스가 있습니다. 그래픽 앱/패키지는 unison-gtk라고 합니다.

  • 오운클라우드- 클라우드 스토리지는 자체 서버에서 실행됩니다. 출발하려면 기계가 필요합니다. 합리적인 양의 설정이 필요합니다. 서버에서 전체 Apache 2 웹 서버와 SqlLite 또는 MySQL 데이터베이스를 실행합니다. 데스크톱 클라이언트를 갖춘 Dropbox와 유사하게 작동하지만 서버는 사용자가 제어할 수 있습니다. 편집: OwnCloud는 최근 프로젝트 실행 방식에 몇 가지 변경을 거쳤으며 이제 다음과 같은 모습으로 새로운 완전 오픈 소스(즉, 비공개 소스 '엔터프라이즈' 에디션 없음)를 갖게 되었습니다.넥스트클라우드, (이것 좀 봐유튜브 인터뷰자세한 내용은 원래 OwnCloud 개발자에게 문의하세요).

  • 스파클쉐어- git을 사용하여 파일을 동기화 상태로 유지합니다. 홈페이지에 따르면 작은 파일이 많은 경우에는 좋지만 음악이나 사진 모음과 같은 대용량 파일이 많은 경우에는 적합하지 않습니다.

  • 씨파일- 로컬 컴퓨터에 설치할 수 있는 서버 구성 요소를 제공합니다. Seafile은 데이터 모델을 사용합니다git과 비슷하다변경 사항을 추적하기 위해. 데스크톱, 태블릿, 스마트폰용 동기화 클라이언트를 제공합니다. 설정을 설명하는 블로그 게시물은 다음에서 찾을 수 있습니다.http://openswitch.org/blog/2013/07/18/installing-and-configuring-seafile-on-ubuntu-12-dot-04/

  • 오싱크- "... bash로 작성되고 rsync를 기반으로 하는 양방향 파일 동기화 도구입니다. SSH 터널을 통해 로컬 및/또는 원격 디렉터리에서 작동합니다. 주로 cron 작업으로 실행되는 것을 목표로 합니다."(웹 사이트의 텍스트)

  • 파워폴더- 자바 기반 GPL v2 프로젝트. 기본 웹사이트에서는 상업용 제품을 푸시하므로 제공된 .jar 파일을 사용하는 방법이 명확하지 않습니다.

  • 재동기화- 빠르고 효과적이며 수십 년 동안 사용되었지만 기록을 유지하지 않으므로 파일이 새 파일인지 삭제되었는지 결정하는 방향을 선택해야 합니다. 다음과 같은 그래픽 도구를 사용할 수 있습니다.gwRsync.

  • Lsyncd- rsync 복제를 트리거하기 위해 폴더/파일을 모니터링합니다.

  • dvcs-자동 동기화- Python으로 작성되었으며 git을 사용하여 머신 간 변경 사항을 저장 및 공유하고 XMPP를 사용하여 변경 사항을 전달합니다.

  • 자식-별관- git을 기반으로 파일을 전환하는 명령줄 도구입니다. 여기에 예시 연습이 있습니다.http://git-annex.branchable.com/walkthrough/

  • 토니도- 프리웨어. 다른 장치와 파일을 공유하는 데스크톱 앱을 제공합니다. 또한 상용 클라우드 제품과 TonidoPlug 플러그 컴퓨터도 제공합니다.

  • BitTorrent 동기화(프리웨어) - BitTorrent를 기반으로 한 P2P 파일 동기화. 오픈 소스가 아니고 LAN 내에 데이터를 보관하는 것을 신뢰하지 않기 때문에 사용하지 않을 것이기 때문에 이에 대해 많이 알지 못합니다. 더 나은 정보/실제 경험으로 이 답변을 자유롭게 편집하십시오.

  • 동기화- BitTorrent Sync의 오픈 소스 대안으로 개발되었습니다. 현재 신뢰할 수 없는 피어와 같은 BitTorrent Sync의 일부 고급 기능이 부족합니다. 활발한 개발이 진행 중입니다.

  • Dropbox, Ubuntu One, Google Drive, Apple iCloud와 같은 상업용 호스팅 서비스는 모두 빠르고 저렴하지만 모든 데이터를 신뢰할 수 있는 회사에 맡겨야 하며 합리적으로 빠른 인터넷 연결이 필요합니다.

  • 힘내/파괴- 소스 제어 시스템을 직접 사용하십시오. 완전히 수동이며 약간 복잡할 수 있지만 이러한 시스템을 프로그래밍 도구로 사용하는 데 익숙한 일부 사용자에게는 인기 있는 접근 방식입니다.

  • CloudFS- 클러스터 기술 기반의 전체 파일 시스템 동기화

  • NFS 마운트 - 기본적으로 집은 하나의 시스템에 있으며 네트워크를 통해 액세스하므로 노트북을 가지고 다니는 데는 적합하지 않습니다. 더 많은 정보:http://www.linuxjournal.com/article/4880


결정을 내릴 때 고려해야 할 요소:

  • 중앙 서버 - 일부 솔루션에서는 다른 컴퓨터가 동기화할 수 있도록 컴퓨터가 항상 켜져 있어야 합니다(또는 적어도 동기화가 필요할 때). 이는 기존 머신 중 하나일 수도 있고 NAS와 같은 별도의 머신일 수도 있습니다. 전기요금 인상에 주의하세요.

  • 자동/수동/예약 - 머신 이외의 항목이 변경되는 충돌을 해결하지 않는 가장 좋은 방법은 변경 사항을 감시하고 즉시 동기화하는 프로그램을 모든 머신에 두는 것입니다. 이렇게 하면 여러 문제가 발생할 기회가 줄어듭니다. 버전. 수동 프로세스에서는 항상 동기화를 실행해야 한다는 것을 기억해야 합니다.

  • 원격 액세스 - LAN(집이라고도 함)에서 동기화하고 싶으십니까? 이것이 보안에 미치는 영향에 대해 생각해 보십시오.

  • 보안 - 데이터가 네트워크를 암호화된 상태로 유지하는지 여부, 컴퓨터 간 전송이 얼마나 안전한지. 누군가 이동 중에 귀하의 데이터를 캡처하고 나중에 암호화에 결함이 있는 것으로 밝혀지면 어떻게 될까요? 귀하의 데이터를 보관하는 서버를 누가 관리하는지, 데이터가 암호화되어 있는지, 제3자를 신뢰할 수 있습니까? 원격 액세스를 하려면 라우터에 구멍을 뚫어야 합니까? '삭제된' 파일 및 관련 메타데이터는 동기화된 장치와 중앙 서버에 얼마나 오래 남아 있습니까? 암호화된 저장소와 암호화되지 않은 저장소를 동기화하고 있습니까?

  • 대용량 폴더 이동 - 제가 시도한 모든 솔루션에는 파일이나 폴더를 이동하거나 이름을 바꿀 때 동기화가 이를 이해하지 못하고 새 파일로 다시 업로드한 다음 이전 복사본을 삭제하는 문제가 있습니다.

  • 디스크 용량

  • 백업 - 동기화는 백업이 아닙니다. 실수로 중요한 파일을 삭제하면 위의 많은 작업으로 인해 다른 모든 복사본이 삭제됩니다. 나는 독서를 추천한다해킹당하는 것에 대한 Mat Honan의 글말하자면 모든 디지털 계란을 하나의 디지털 바구니에 넣으면 어떤 일이 일어날 수 있는지에 대한 좋은 설명입니다.


전체 홈 폴더를 동기화하는 것이 아니라 대신 동기화할 특정 폴더(예: Documents/등 )를 선택하는 것이 좋습니다 Pictures/. 이렇게 하면 모든 것을 자동으로 동기화하는 속도/성능/디스크 공간 문제를 강제로 처리해야 하는 고통을 피할 수 있습니다. 또한 제외 목록을 유지 관리할 필요도 없습니다.

개인적으로 나에게 맞는 것을 계속 찾으려고 노력하면서 이 답변을 유용한 정보와 함께 최신 상태로 유지하려고 노력할 것입니다. 다른 모든 답변의 정보를 하나의 완전한 답변으로 집계했습니다.

참고자료:

  • LinuxFormat - 2014년 2월 LXF180 p31, "호스팅 스토리지 정리"

해킹/모두/

답변2

조화좋은 후보가 될 수 있습니다:

Unison은 Unix와 Windows용 파일 동기화 도구입니다.이를 통해 파일 및 디렉터리 모음의 두 복제본을 서로 다른 호스트(또는 동일한 호스트의 서로 다른 디스크)에 저장하고 별도로 수정한 다음 각 복제본의 변경 사항을 다른 복제본에 전파하여 최신 상태로 유지할 수 있습니다.

이미 양방향 동기화를 수행하고 있습니다. 아래 업데이트를 참조하세요.

나는 rsync가 할 수 없는 일이 거의 없으며 아마도 동등하거나 더 나은 솔루션을 제공할 수 있다는 것을 배웠습니다. 그러나 rsync 전문가가 해당 솔루션을 찾을 때까지 기다려야 합니다.

업데이트:예, Unison은 2대 이상의 컴퓨터를 동기화할 수 있습니다. 그들로부터사용자 매뉴얼:

Unison을 사용하여 두 대 이상의 컴퓨터 동기화

Unison은 복제본 쌍을 동기화하도록 설계되었습니다. 그러나 여러 쌍의 동기화를 수행하여 더 큰 규모의 컴퓨터 그룹을 동기화 상태로 유지하는 데 사용할 수 있습니다.

이 작업을 수행해야 하는 경우 가장 신뢰할 수 있는 설정 방법은 시스템을 "스타 토폴로지"로 구성하는 것입니다. 여기서 한 시스템은 "허브"로 지정되고 나머지는 "스포크"로 지정되며 각 스포크 시스템은 동기화됩니다. 허브에서만 가능합니다. 스타 토폴로지의 가장 큰 장점은 동기화하는 모든 호스트 쌍에 대해 Unison이 별도의 아카이브를 유지 관리한다는 사실에서 발생하는 혼란스러운 "가짜 충돌"의 가능성을 제거한다는 것입니다.

답변3

SubVersion이나 git과 같은 버전 제어 시스템에 파일을 넣는 것은 어떻습니까?

나는 전체 홈 디렉토리를 버전화하지 않고 일부 중요한 항목이 포함된 소수의 하위 디렉토리만 버전화합니다. 그런데 이런 직업에는 git이 더 좋을 것 같아서 git으로 전환할까 생각중이에요. (빠른 검색이 당신을 올바른 방향으로 안내할 것입니다).

행운을 빌어요


업데이트: git의 좋은 부작용은 해당 컴퓨터에 대한 분기만 있으면 되기 때문에 컴퓨터 특정 파일을 갖는 것이 쉽다는 것입니다(그리고 git에서는 기본적으로 해당 분기를 얻습니다). 따라서 모든 컴퓨터에 정확히 동일한 파일이 있을 필요는 없습니다. 파일은 유사해야 하며, 모든 다른 컴퓨터에서 원하는 항목이 포함된 공통 "기본" 분기가 있어야 합니다.

답변4

공통 홈 폴더를 NFS 마운트하면 원하는 것을 더 잘 얻을 수 있다고 생각합니다. 이 기사를 확인하세요http://www.linuxjournal.com/article/4880

관련 정보