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

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

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

내장 하드 드라이브에 파일을 쓰거나 수정하면 자동으로 동일한 파일이 외장 하드 드라이브에 복사됩니다... 그리고 백업은 안녕 ;)

이는 외장 하드 드라이브를 갖춘 RAID와 비슷합니다.

이것이 가능한가?

답변1

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

답변2

lsyncd완벽한 솔루션인 것 같습니다. 그것은 결합한다inotify(커널 내장 기능 마녀는 디렉토리 트리의 파일 변경을 감시합니다) 및재동기화(크로스 플랫폼 파일 동기화 도구).

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

github에서 인용:

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

답변3

내부 및 외부 하드 드라이브에 소프트웨어 RAID1을 생성할 수 있습니다. 시스템의 경우 내장형 하드 드라이브인지 외부에 연결된 대용량 저장소인지는 차이가 없습니다.

하지만 RAID는 백업이 아닙니다! 실수로 하드 드라이브의 파일을 삭제하면 어떻게 되나요? 외부 "백업" 드라이브에서도 삭제됩니다.

백업은 일반적으로 두 세대 이상의 파일로 구성되므로 실수로 삭제된 파일을 복구할 수 있습니다.

답변4

자식-별관이를 달성하기 위해 사용될 수도 있습니다.

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

git-annex를 사용하여 사용자에게 신속하게 최신 정보를 제공하는 연습이 있습니다.

관련 정보