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

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

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개

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

게시글 목록

번호 제목
16286
16281
16277
16276
16268
16266
16264
16263
16262
16259
16258
16257
16255
16233
16229
16222
16220
16219
16217
16214
16213
16211
16207
16205
16197
16195
16192
16191
16188
16187