서버 이전시 참고 자료
서버이전 참고
서버옮길때 아예 dns가 내가 원하는 타이밍에 변경안될거라는걸 확고이 가정하고.
구서버의 redirect설정이나 frameset으로 신규서버를 찾게 둡니다. 대문만 dns 변경 누루는 시점부터 아예 변경해두는것이죠. 그나마 마음은 편한데 근본적인 변경은 아닙니다.
저는 이런방법으로 그나마 로스발생을 줄이고 있습니다.
아그리고 서버환경에 대역이 너무 작으면 아예 DNS변경은 하지않고. rsync로 큰덩어리 복사이후에 DNS변경시점에 한번더 돌리면 업데이트된 파일이나 신규파일만 전송되어 서버이전작업이 편해 짚니다.
100G 용량의 서버도 밤샘없이 모니터링 없이 정말 편하게 이전가능합니다.
기본적인 rsync 사용법
서버의 rsync 및 xinetd 설치 여부확인
# rpm -qa | grep rsync
# rpm -qa | grep xinetd
없을경우 yum install rsync / xinetd
@
rsync 파일 수정
# vi /etc/xinetd.d/rsync
disable=yes -> no 로 수정
@
rsyncd.conf파일 설정
# vi /etc/rsyncd.conf
[rsync_source] -- 서비스명
path=/home/web/source --백업할 소스 디렉토리
hosts allow=192.168.10.5 --접속 가능한 클라이언트ip (콤마로 복수 클라이언트 지정가능, 모두허용은*)
uid=0 --접근 user id
gid=0 --접근 group id
use chroot=yes --백업할 소스이기 때문에 yes로 설정
max connections = 1 --동시접속자 수
auth users=test1 --접속을 허용하는 사용자명 리스트
secrets file=/etc/rsyncd.secrets -- aute users 옵션이 지정되었을 때만 참조 username:password 형식으로 한 라인씩 입력
파일명과 위치는 어디든 상관없음
@
xinetd 재시작
# service xinetd restart
@
# rsync -avzr --delete 192.168.10.5::rsync_source /home/web/backup
ㄴ내 서버에서 설정한 rsync_source 의 데이터(/home/web/source)를
192.168.10.5 서버의 /home/web/backup로 백업하라는 의미
--delete 옵션으로 /home/web/source 에 없는 파일이 10.5 서버의 백업디렉토리에 존재할 경우
10.5번 서버의 파일들을 삭제하도록한다.
rsync 옵션 응용
기본적인 사용법
# rsync [옵션] [계정]@[sourcePC:/디렉토리] [target 디렉토리]
-a : archice mode ( 심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)
-v : verbose mode (자세한 정보 출력)
-z : compress (전송시 압축)
-r : 하위 디렉토리 포함
-e ssh : ssh를 이용한 rsync 동기화
--stats : 결과보고
--delete : 원본 서버에 없는 파일은 백업 서버에서 삭제
--progress : rsync 진행 상항 보기
--exclude : 제외할 파일 지정
--bwlimit : 대역폭(복사속도) 제어
--max-size : 특정 크기 이상 파일 제외(rsync 2.6.4 버전부터 추가된옵션)
--min-size : 특정 크기 이하 파일 제외(rsync 2.6.7 버전부터 추가된옵션)
응용
1) 단순동기화(원본파일 복사)
ex) rsync -avz root@soucepc:/data/backup /data/backup
2) 동기화(삭제파일도 동일적용)
ex) rsync -avz --delete root@soucepc:/data/backup /data/backup
3) 대역폭 조절
ex) rsync -avz --bwlimit=1024 root@soucepc:/data/backup /data/backup
4) -e ssh
ex) rsync -avz -e "ssh -i /home/test/rsync-key" root@soucepc:/data/backup /data/backup
5) 특정파일
ex) rsync -avz --exclude=.txt --exclude=.sh root@soucepc:/data/backup /data/backup--exclude=.repo
6) 특정폴더
ex) rsync -avz --exclude=aaa(폴더1) --exclude=bbb(폴더2) root@soucepc:/data/backup /data/backup--exclude=.repo
7) 날짜(3일이내 파일만 복사)
ex) find . -type f -mtime -3 | rsync -avz --files-from=- /soucepc /data/backup