두 개의 리눅스 디렉토리를 실시간으로 동기화 할 수 있습니까?


25

내장 하드 드라이브의 디렉토리를 외장 하드 드라이브에 동기화하고 싶습니다.

내장 하드 드라이브에서 파일을 쓰거나 수정할 때 자동으로 동일한 파일이 외장 하드 드라이브에 복사됩니다.

외장 하드 드라이브가있는 RAID와 같습니다.

이것이 가능한가?


22
"바이 바이 백업"이라는 생각이 거의 적절하지 않거나 올바른 것은 아닙니다.
Ben Pilbrow

진심으로. 벤이 말한 것. 이것은 백업을 대체하지 않습니다.
던컨 X 심슨

답변:


8

내가 아는 한 실시간으로 DRBD 만 있습니다. 그러나 파일을 삭제할 때 외부 디스크에서도 파일을 삭제하기 때문에 현재 상황에서는 적용되지 않는다고 생각합니다. rsync와 몇 분마다 실행되는 cron 스크립트를보다 쉽게 ​​사용할 수 있습니다.


답변 주셔서 감사합니다. 그러나 "cron"rsync가 0.5 분마다 실행되면 성능이 저하됩니까? 너무 무겁지 않습니까 (뭔가 바뀌면 모든 파일을 확인합니까?)?
stighy

이것이 스냅 샷 기능을 갖춘 파일 시스템을 발명 한 이유입니다.)
PiL

1
DRBD는 구성하기가 약간 복잡 할 수 있습니다. 구성하는 데 도움이 필요하면 멋진 기사를 작성했습니다. geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot

30

lsyncd 는 완벽한 솔루션 인 것 같습니다. 그것은 결합 inotify를 하고 (파일 디렉토리 나무의 변화를 기능 마녀 시계 내장 커널) rsync를 (크로스 플랫폼 파일 동기화 툴).

lsyncd -rsyncssh /home remotehost.org backup-home/

github에서 인용 :

Lsyncd는 로컬 디렉토리 트리 이벤트 모니터 인터페이스 (inotify 또는 fsevents)를 감시합니다. 몇 초 동안 이벤트를 집계 및 결합한 다음 하나 이상의 프로세스를 생성하여 변경 내용을 동기화합니다. 기본적으로 이것은 rsync입니다. 따라서 Lsyncd는 새로운 파일 시스템이나 블록 장치를 필요로하지 않고 비교적 쉽게 설치할 수 있으며 로컬 파일 시스템 성능을 저해하지 않는 경량 라이브 미러 솔루션입니다.


1
단점은 양방향이 아닙니다
tymik

8

내부 및 외부 하드 드라이브에 소프트웨어 RAID1을 만들 수 있습니다. 시스템의 경우 내장 하드 드라이브 또는 외부에 연결된 대용량 저장 장치라면 차이가 없습니다.

그러나 RAID는 백업이 아닙니다! 실수로 하드 드라이브에서 파일을 삭제하면 어떻게됩니까? 또한 외부 "백업"드라이브에서 삭제됩니다.

백업은 일반적으로 여러 세대의 파일로 구성되므로 실수로 삭제 한 파일을 검색 할 수 있습니다.


4
명시적인 "RAID는 백업이 아님"에 큰 +1입니다.
nickgrim

또한 내부 및 외부 하드 드라이브 구성원과의 소프트웨어 공격은 매우 느리고 신뢰할 수 없으며 자주 중단되도록 지정 될 것입니다.
David

2

incron (올해 초이 사이트에서 제안한대로).

그래도 적절한 백업 절차를 대신 할 수는 없습니다.


3
아마 돌로 조각하는 것이 더 나을 것입니다.
Dee

1
@Dee이 의견을 설명 해주십시오. incron이 좋은 해결책이 아닙니까?
imolit


0

git-annex 도 이것을 달성하기 위해 사용될 수 있습니다.

git-annex를 사용하면 파일 내용을 git에 체크인하지 않고도 git으로 파일을 관리 할 수 ​​있습니다. 역설적 인 것처럼 보일 수 있지만 메모리, 시간 또는 디스크 공간의 제한으로 인해 git이 현재 쉽게 처리 할 수있는 것보다 큰 파일을 처리 할 때 유용합니다

git-annex를 사용하여 사용자에게 빠르게 속도를 낼 수있는 연습이 있습니다.


이것이 이론적으로 질문에 대답 할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 할 수있는 링크를 제공하는 것이 바람직합니다.
Itai Ganot
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.