리눅스 서버간 폴더 동기화

리눅스 서버간 폴더 동기화

IT/리눅스_서버

2022-01-26 10:38:00


리눅스 서버를 두대 세대 운영하다 보면 특정 폴더를 실시간 동기화 해야 할때가 있다.

보통 예전엔 rsync를 사용해서 했지만 centos5 버전 이후에는 커널급에서 지원하는 lsyncd 를 사용하나 보다.

설정은 쉽다.

#yum install epel-release –y

#yum install lsyncd lua rsync

# vi /etc/lsyncd.conf

settings {
        logfile = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/var/log/lsyncd/lsyncd-status.log",
        statusInterval = 20
    }

sync {
    default.rsync,
    source="/data",
    target="192.168.0.5:/data",
    delay = 1,
    rsync = {
        compress = true,
        acls = true,
        verbose = true,
        rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no" }
}

위와 같이 패키지 설치하고 설정화일을 자신의 환경에 맞춰서 설정후
#systemctl start lsyncd
#systemctl enable lsyncd

하면 끝이다.

1번서버의 특정 폴더에서 변한것이 있으면 곧바로 2번(위에 설정에서는 192.168.0.5:/data 폴더로)서버로 동기화 된다.

물론 2번 서버에서 1번 서버로 동기화가 필요하면 2번 서버에도 동일하게 설정해주면 된다.

추가)20201015
혹시 동기화 중에 비정상적이면
1. systemctl status lsyncd 메세지 확인
2. echo 65536 > /proc/sys/fs/inotify/max_user_watches 또는
sysctl fs.inotify.max_user_watches=65536 명령어로 커널값 조절.
3. 부팅후에도 적용되도록
vi /etc/sysctl.conf
fs.inotify.max_user_watches=65536
입력후 저장.
4. 그리고 systemctl restart lsyncd

#Linux #동기화 #폴더동기화 #리늑수 #lsyncd

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다