linux/기타

lsync 설치 및 설정 (실시간 동기화)

배움엔 끝이없다 2021. 8. 31. 09:11
728x90
반응형

 

NFS 서버를 이용하지 않고, Lsync를 이용하여 각자의 서버에 data를 저장하고 동기화 할 수 있습니다.

 

1. 설치



서버1, 서버2 모두 진행

#yum install epel-release –y

#yum install lsyncd lua rsync

 

서버1에서 진행

#ssh-keygen

모두 enter

#ssh-copy-id –p 22 root@서버2 ip

#ssh root@서버2 ip                ( ssh 접속 확인 )

 

패스워드 없이 접속되면 정상적으로 적용된 것

 

[서버2]

# vi /etc/rsyncd.conf

[sync]
comment = sync
path=/data
hosts allow= 서버1 ip
uid=root
gid=root
use chroot=yes
read only=no

 

[서버 1]

#vi /etc/lsyncd.conf
( default로 들어가 있는 설정은 삭제 )

settings {
           logfile="/var/log/lsyncd.log",
           statusFile="/var/log/lsyncd-status.log"
}
 
sync {
           default.rsyncssh,
           source="/data",                                 
           host="",
           targetdir="서버2 IP::sync",                              
  delay=1,
  delete=true
}

source : 서버1의 공유 할 디렉토리
targetdir : 서버2의 공유 할 디렉토리
deley : 동기화 딜레이 시간
delete : 삭제 공유

 

 

설정 완료 후 재시작 및 자동실행 등록 서버 1,2 모두 진행 (설정은 서버 1에만 해도됨, 단방향일 경우 양방향은 서로 설정해줘야함)

#systemctl start lsyncd
#systemctl enable lsyncd

 

 

 

 


그 외에 여러 가지 옵션들이 있는데, 옵션은 상황에 맞게 설정 하시면 됩니다.

sync {  } 안쪽에 작성해주시면 됩니다

 

exclude = {
           ‘/디렉토리’,
           ‘/디렉토리1’
},
제외 할 디렉토리를 넣는 설정입니다.


ssh = {
           port = xxxx
},
포트를 변경 할 때 사용합니다.


rsync = {
           archive= true,
           compress= false,
           verbose= false
}
archive 는 소유권까지 동일하게 동기화 되는 것이고, compress는 압축 실행 여부, verbose는 로그를 상세히 기록하는 옵션

 

728x90
반응형
LIST