[OS X] fswatch 를 통한 폴더(파일) 모니터링 및 복제 해 보기 Computer Tip

rsync를 이용하여 필요시 백업을 잘 수행하고 있습니다.
또한 최근에는 맥북프로와 아이맥을 연결하여 밀접하게 연동 작업을 하고 있습니다.

문제는 어느 특정 폴더가 변경되면 바로 바로 서로 파일 일치가 되도록 하고픈 것이었습니다.
OneDriver를 이용하여 일치를 시키려고 하는데 수십기가가 되다보니
또 인터넷을 아주 조금씩 사용하므로 바로 바로 폴더 싱크가 되지 않는 문제가 있습니다.
원드라이브 싱크 프로그램도 문제 아직 있는 것 같구요.

그래서 찾아보았습니다.

우선 파일/폴더 변경되는 것을 모니터링 할 수 있는 것이 있는가 보았는데,

fswatch 라는 것이 있습니다.

윈도우를 제외하고 맥을 포함한 거의 모든 *NIX 시스템에서 잘 동작한다고 하네요.
맥에서 설치는 홈브루를 이용하여 한줄로 가능합니다.

$ brew install fswatch
로 설치합니다.

그 다음 아래와 같이 

fswatch --follow-links --recursive -o $HOME/OneDrive | while read num; do
    echo "Total $num files changed!!! at $HOME/OneDrive"
    for d in $DIRS;do
        rsync --exclude .DS_Store -a8P --delete --rsh ssh $HOME/OneDrive mcchae@imac:/Users/mcchae >/dev/null
    done
done

쉘 프로그램을 만들어 돌리면,
해당 디렉터리 (위에서는 $HOME/OneDrive)에 하나 이상의 파일 변화 (수정,변경,삭제)가
발생하면 rsync를 통하여 아이맥으로 보내는 간단 쉘 코드 입니다.

썬더볼트로 아이맥과 맥북프로를 연결해 놓으니 많을 때는 초당 거의 120MBps 까지 올라가서 
왠만한 것은 거의 2,3초 내에 싱크가 맞추어 집니다.


어느 분께는 도움이 되셨기를...

덧글

댓글 입력 영역

구글애드텍스트