개발/Server
[lsyncd] CentOS 서버간 파일 동기화 Package 설치
소금집사
2024. 1. 8. 11:12
반응형
1. 설치 (Source Server)
#yum install epel-release –y
#yum install lsyncd lua rsync
Source Server에서 Target Server로 ssh 접속이 패스워드 없이 가능해야하도록 구성한다.
[Source Server]
ssh-keygen -t dsa
chmod 755 /root/.ssh
chmod 755 .ssh
scp -P 31622 /root/.ssh/id_dsa.pub root@TargetServer_IP:/root/.ssh/authorized_keys
[Target Server]
sudo chmod 600 ~/.ssh/authorized_keys
아래 명령어 실행해서 Source Server에서 Target Server로 인증 없이 로그인되는지 확인
ssh -p 31622 {userName}@{TargetServer_IP}
2. lsnycd.conf 작성
#vi /etc/lsyncd.conf
settings {
logfile= "/var/log/lsyncd.log",
statusFile= "/var/log/lsyncd-status.log"
}
sync {
default.rsyncssh,
source= "/data",
host= "userName@TargetServer_IP",
targetdir = "/data",
delay=1,
delete=false,
rsync = {
archive = true,
compress = false,
verbose = false
},
ssh = {
port = 31622
},
exclude = {"*.log", "*.ext"}
}
-- 다수의 디렉토리 공유 시 sync 설정값 추가
sync {
default.rsyncssh,
source= "/data",
host= "userName@TargetServer_IP",
targetdir = "/data",
delay=1,
delete=false,
rsync = {
archive = true,
compress = false,
verbose = false
},
ssh = {
port = 31622
},
exclude = {"*.log", "*.ext"}
}
[settings]
logfile/statusFile : lsyncd 로그파일 저장 경로
[sync]
source : Source Server의 공유 할 디렉토리
host : Target Server의 HOST 정보 ( root일경우 userName 생략가능 )
targetdir : Target Server의 공유 받을 디렉토리
deley : 동기화 딜레이 시간
delete : 삭제파일 동기화 여부
ssh : ssh 포트정보 ( 생략 시 default값인 22로 ssh 통신 )
exclude : 파일 동기화 시 예외파일 설정
3. 실행
#systemctl start lsyncd
#systemctl enable lsyncd
반응형