2012-09-17 6 views
27

하나의 폴더와 모든 하위 트리가 동기화 된 복사본을 만들고 싶습니다.두 폴더를 자동으로 동기화 된 상태로 유지하는 방법은 무엇입니까?

자동으로 작동해야합니다. 원본 폴더에서 스태프를 생성, 수정 또는 삭제할 때마다 해당 변경 사항이 자동으로 동기화 폴더에 적용되어야합니다.

이 작업에 가장 적합한 방법은 무엇입니까?

가 BTW : 나는 우분투에있어 12.04

최종 목표는 마운트 오 심볼릭 링크를 사용하지 않고, 분리 된 실시간 백업 복사본을하는 것입니다. Ubuntu One을 사용하여 내 컴퓨터간에 데이터를 동기화했습니다. 잠시 후 무언가 잘못되어 동기화 중에 모든 데이터가 손실되었습니다.

그래서 나는 내 데이터의 백업 복사본을 유지하기 위해 한 단계 더 추가 할 생각 : 내 데이터에 저장된 유지

  • 을에 "폴더 A"
  • 나는 현재의 내 질문에 대답을해야합니다 "폴더 A"와 "폴더 B"의 편도 동기화를 만들 수 있습니다 (rsync가있는 스크립트는 cron 일 수 있습니까?). 내가 A에서 B로 한 방향으로 만 할 필요, B에 대한 변경은 A.에 적용되어서는 안
  • 의 I는 단순히 이러한 방식으로 어떤 변화에서 우분투 하나

    와 "폴더 B"동기화 유지 A는 U1에서 감지되고 클라우드와 동기화되는 B에 적용됩니다. 일이 잘못 가고 U1은 B에 내 데이터를 삭제하면
    , 나는 항상 lanzz의 의견에 의해 영감 A.

에 그들을 가지고, 또 다른 아이디어는 백업 시작시 폴더의 내용을 아래를 rsync를 실행할 수 Ubuntu One을 시작하고 rsync가 완료된 후에 만 ​​Ubuntu One을 시작하십시오. 그 점에 대해 어떻게 생각하십니까? rsync가 끝나는 시점을 어떻게 알 수 있습니까?

+0

수행하려는 작업은 무엇입니까? 폴더가 정말로 분리되어 있어야 하나, 다른 하나의 심볼릭 링크를 심볼릭 링크 할 수 없으며 디렉토리를 [bind-mount] (https://www.google.com/search?q=linux+mount+bind) 할 수는 없습니다. 보조 위치? 또한 [검색 결과] (https://www.google.com/search?q=sync+inotify)를 확인하십시오. – lanzz

+0

@lanzz : 내 편집 내용을 참조하십시오. –

+0

cron을 통해 정기적 인'rsync '를 사용하여 실시간 동기화 (즉, 소스 디렉토리의 파일 변경 사항을 지속적으로 감시)하는 것이 좋습니다. – lanzz

답변

14

rsync, 자습서 here을 살펴보십시오.

onchange script도 확인하십시오. - 전자는 올바른 옵션을 거울 설정 도구, 마지막 비트에 디렉토리입니다 https://github.com/axkibe/lsyncd 그것은 rsync를하고 inotify를 결합하는 도구입니다 :

+1

@alfC : 반대로 Google은 영원히 페이지를 캐시하지 않습니다. 대신 WaybackMachine을 사용하십시오. – Nirmal

24

inotifywait (modify,create,delete 플래그 사용) 및 rsync을 사용할 수 있습니다.

while inotifywait -r -e modify,create,delete /directory; do 
    rsync -avz /directory /target 
done 
관련 문제