백업하는 데 시간이 오래 걸립니다. 증분 스냅 샷을 백업하기 위해 btrfs 또는 ZFS를 신뢰하려면 inotify를 사용하여 실제로 변경된 파일을 추적하여 백업이 더 빨리 실행되는 데몬이 있다면 좋지 않습니까? 이 프로그램은 어디에 있습니까?
매번 전체 파일 시스템을 크롤링하지 않고 Linux 박스를 어떻게 백업합니까? 새로운 사진이나 변경된 사진, 소스 코드 등을 감지하여 NAS에 복사 할 수 있도록 대기시키는 프로그램을 원합니다.
백업하는 데 시간이 오래 걸립니다. 증분 스냅 샷을 백업하기 위해 btrfs 또는 ZFS를 신뢰하려면 inotify를 사용하여 실제로 변경된 파일을 추적하여 백업이 더 빨리 실행되는 데몬이 있다면 좋지 않습니까? 이 프로그램은 어디에 있습니까?
매번 전체 파일 시스템을 크롤링하지 않고 Linux 박스를 어떻게 백업합니까? 새로운 사진이나 변경된 사진, 소스 코드 등을 감지하여 NAS에 복사 할 수 있도록 대기시키는 프로그램을 원합니다.
답변:
"yum search inotify"로 내 질문에 대답했습니다. 이름은 lsyncd 이며 Google 코드에서 호스팅됩니다.
불행히도 항상 전체 rsync를 먼저 실행하는 것처럼 보이므로 컴퓨터가 한 번에 14 시간 이상 켜져 있지 않은 경우 여전히 도움이되지 않습니다.
Lsyncd는 rsync를 사용하여 로컬 디렉토리를 rsyncd를 실행하는 원격 시스템과 동기화합니다. Lsyncd는 inotify를 통해 여러 디렉토리 트리를 감시합니다. watch를 추가 한 후 첫 번째 단계는 모든 디렉토리를 원격 호스트와 rsync 한 다음 inotify 이벤트를 수집하여 단일 파일을 동기화하는 것입니다. lsyncd는 시스템과 잘 혼합되는 동안 설치 및 사용이 쉬운 경량 라이브 미러 솔루션입니다. 자세한 명령 행 옵션은 lsyncd --help를 참조하십시오.
연구 (테스트 아님)에 따르면 inotify는 대부분의 시스템에서 많은 수의 파일을 처리 할 수 없거나 그렇게 느리게 보입니다. http://www.pubbs.net/kernel/200905/109416/ 의 스레드 가 가장 유용했습니다. 새로운 리눅스 기능인 fsnotify가 리눅스 2.6.31에있는 것으로 보입니다. 나중에.
Lsyncd는 시작시 감시 된 전체 트리를 동기화합니다. 99 %의 경우이 방법이 합리적입니다. 로컬 호스트에있는 대상 호스트의 디렉토리가 필요합니다. 그렇지 않으면 동기화에 실패하고 전원이 꺼진 동안 놓친 항목을 동기화하려고합니다. 그러나 수행중인 작업을 알고 있다면 시작 동기화를 끄고 Lsyncd 구성 파일에서 sync {..., startup = false}를 설정하면됩니다.
inotify와 관련하여 파일 수는 아니지만 리소스를 먹는 디렉토리 수입니다. 하나의 디렉토리는 포함 된 파일 수에 관계없이 하나의 감시입니다.
fotnotify와 같은 fsnotify에 대한 fanotify 빌드는 많은 디렉토리를 보는 사람들에게 매우 유망한 것처럼 보였지만 현재 Linux 2.6.37부터 fanotify는 이름 바꾸기 (이동) 이벤트를 전혀보고하지 않으므로 다음과 같은 작업에 사용할 수 없습니다 :-(
나는 당신이하려는 일을 수행하기위한 최상의 솔루션을 찾기 위해 6 개월을 보냈습니다. NAS에 효율적으로 백업합니다. 초기 동기화 후 다른 모든 것은 버터처럼 부드럽습니다. Lsyncd의 최신 버전은 매우 잘 작동합니다. 아래 링크에서 내가 한 일을 문서화했습니다. 폴더 값을 대체하십시오. 도움이 되었기를 바랍니다:
https://docs.google.com/document/d/1XpqM5h5YMwuQqzdknyDDnjcQVYGjAsyAxfYprqSnhd0/edit
아시아에서는 inotify-tool + rsync 해상도 대신 http://code.google.com/p/sersync/ 대신 사용되는 sersync라는 새로운 시스템이 사용 하기 매우 쉽습니다.