테스트 사이트 - 개발 중인 베타 버전입니다

rsync, lsyncd 를 이용한 서버 동기화

· 4년 전 · 4409 · 9

https://www.youtube.com/watch?v=S0UTSQsmCc4

 

 

SOURCE 서버에 다음과 같이 설치합니다.

 

# ssh-keygen

# cat /root/.ssh/id_rsa.pub

ssh-rsa AAAAB3Nz..........OGyCkT root@ip-172-31-41-225.ap-northeast-2.compute.internal

위의 내용을 복사하여 타겟 서버의 /root/.ssh/authorized_keys 에 추가합니다.

 

 

TARGET 서버에 다음과 같이 복사합니다.

# vi /root/.ssh/authorized_keys

아까 소스 서버에서 복사한 키를 하단에 추가로 붙여넣기 합니다.
(기존에 파일이 있다면 이 코드를 추가합니다.)

ssh-rsa AAAAB3Nz..........OGyCkT root@ip-172-31-41-225.ap-northeast-2.compute.internal

 

 

# ssh-keyscan -t rsa 255.1.2.3 > /root/.ssh/known_hosts

(255.1.2.3 은 타겟서버아이피)

 

# yum install epel-release

# yum install lsyncd

# vi /etc/lsyncd.conf

 

-- sync{default.rsyncssh, source="/var/www/html", host="localhost", targetdir="/tmp/htmlcopy/"}

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

sync {
    default.rsyncssh,
    source="/home/ec2-user", -- 소스 서버 디렉토리
    host="255.1.2.3", -- 타겟 서버 아이피 or 도메인
    targetdir="/home/ec2-user", -- 타겟 서버 디렉토리
    delete=true, -- 삭제시 타겟 서버에 반영하기(동기화 하기)
    delay=1, -- 1초
    rsync={
        archive=true -- 사용자와 퍼미션 동기화 하기
    }
}

 

 

설정 파일이 이상 있는지 확인하기

# lsyncd /etc/lsyncd.conf

08:05:08 Normal: --- Startup, daemonizing ---

 

위와 같이 정상 이라면

# systemctl start lsyncd

 

로그 확인하기

# tail -f /var/log/lsyncd/lsyncd.log

 

 

위와 같이 설정한후

소스 서버의 /home/ec2-user 에 파일이나 디렉토리를 생성(삭제)하면 

타겟 서버의 /home/ec2-user 에 동기화 됩니다.

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 9개

시간이 되면 동영상을 만들어 올리겠습니다.
요즘 서버 이전때문에
고생이 많으시네요 ㅠㅠ
고생이라뇨~?
배우는 재미가 쏠쏠합니다. ㅎ
좋은 정보 알아갑니다. 이제 파일도 실시간 백업이 되는구만요. ^^
네 거의 실시간이라고 보시면 됩니다.
좋은정보 감사합니다.
파일수정도 실시간 반영이 되나요??
아니면 생성 및 삭제만 반영이 되나요?
직접 테스트 해보진 않았지만 수정도 가능할겁니다.
혹시 테스트 해보실 것이라면 결과 좀 알려주세요.
감사합니다~
4년 전
각 서버의 사양이 상이해도 상관없는가요?

게시글 목록

번호 제목
16893
16890
16889
16888
16887
16886
16885
16884
16883
16882
16881
16880
16871
16870
16868
16863
16861
16856
16852
16834
16833
16829
16827
16826
16823
16822
16819
16818
16817
16806