서버간의 데이터 동기화나 백업을 해야할 경우는 종종 생긴다. rsync(Remote Sync)를 이용하면 간단한 설정으로 쉽게 동기화 시킬 수 있다.
rsync는 xinetd를 이용하기 때문에 rsync와 xinetd가 설치되어있어야한다.
yum install rsync yum install xinetdrsync는 ssh를 사용할수 있고 873포트를 이용 할 수있다. 873포트가 열려 있지 않다면 열어주자.
$telnet localhost 873 Trying ::1... Connected to localhost. Escape character is '^]'. @RSYNCD: 30.0 #didn't open port 873 $vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT /etc/init.d/iptables restartrysync를 사용할 수 있게 활성화 시킨다.
$vi /etc/xinetd.d/rsync #disable = yes -> disable = no service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }rsync모듈을 등록하자.
$vi /etc/rsyncd.conf #모듈 명 [testr] #백업 경로 path = /mnt/testdir #코멘트 comment = testr #user uid = root gid = root #위 path를 루트로 사용 use chroot = yes #일기 전용 read only = yes #허용 ip hosts allow = 10.24.132.164 #허용커넥션갯수 max connections = 3 #타임아웃 timeout = 600 #restart xinetd $service xinetd restart이제 백업서버에서 rsync를 이용해 file을 가져오자. rsync (option) user@127.0.0.1::module /path
$rsync -avz root@12.34.56.78::testr /data/backup #use ssh $rsync -avz -e ssh root@12.34.56.78:/mnt/testdir /data/backup끝~ rsync option들은~ 이러하다. -a : archice mode ( 심볼릭 링크, 속성, 퍼미션, 소유권 등 보곤) -v : verbose mode (자세한 정보 출력) -z : compress (전송시 압축) -r : 하위 디렉토리 포함 -u : --update update only (don't overwrite newer files) -e ssh : ssh를 이용한 rsync 동기화 --stats : 결과보고 --delete : 원본 서버에 없는 파일은 백업 서버에서 삭제 --progress : rsync 진행 상항 보기 --exclude : 제외할 파일 지정 --bwlimit : 대역폭(복사속도) 제어 --max-size : 특정 크기 이상 파일 제외 --min-size : 특정 크기 이하 파일 제외