[컴파일 패키지]realsync-0.1-11.el6.src.rpm

1718 단어 rpmsrc.rpmRealSync
inotifywait+rsync 실시간 동기화 방안을 통합하여 중복 노동을 줄이고 초보자의 설정 난이도를 줄이기 위해 표준rpm 패키지로 포장하였다.
이름이 리얼sync라는 것은 순전히 엉터리로 지어진 것으로 리얼타임 rsync라는 뜻인데 만약 공통점이 있다면 정말 우연한 일치이다.CentOS 6 플랫폼에서 테스트를 거쳐 제대로 작동합니다.
간단한 두 줄 설정을 통해 단방향 실시간 동기화를 실현할 수 있습니다. 구체적인 설정 파일은/etc/sysconfig/realsync입니다.
######################################
# local directory to monitor.
# example: local_dir="/etc/"
local_dir=" "
# remote directory to sync,
# which should be a writable rsync server.
# example: remote_dir="192.168.1.2::data/"
remote_dir=" "
######################################

위의 두 변수를 설정하지 않으면 시작에 실패합니다.
설치 후 기본적으로 전원 켜기 시동에 가입하고 전원 켜기 시동 방법을 취소합니다
chkconfig realsync off

init 스크립트는 4개의 매개변수를 지원합니다.
service realsync start
service realsync stop
service realsync restart
service realsync status

인터넷의 다른 강좌와 차이점:
1. 다른 강좌는 일반적으로 명령인inotifywait+파이프+while 순환,
참조:http://lxw66.blog.51cto.com/5547576/1331048
이렇게 유연성이 부족해서 서비스처럼 수시로 멈추고 시작할 수 없으니 추하다.
2. 본문의 방법
a.inotifywait로 하여금 백엔드에서 모니터링 결과를 파일에 기록하도록 하다
b.while 순환으로 파일이 비어 있는지 감시하고 비어 있지 않으면 rsync를 실행합니다
c. 잠금 파일이 없으면 순환을 중지합니다.
#!/usr/bin/env bash

set -e

. /etc/sysconfig/realsync

logsize=`/usr/bin/stat -c %s $logfile`

/usr/bin/inotifywait \
        -mrqsd \
        --timefmt '%d/%m/%y %H:%M' \
        --format '%T %w%f%e' \
        --event close_write,modify,create,attrib \
        --outfile $logfile $local_dir

while [ $logsize -gt "0" ];do
        [ -e $lockfile ] || break
        sleep 1
        /usr/bin/rsync -aqu $local_dir $remote_dir
        >$logfile
done&

좋은 웹페이지 즐겨찾기