티스토리 뷰
테스트 환경 Centos5, 6
설치
yum install rsyncd*
xinetd (슈퍼데몬)
vim /etc/xinetd.d/rsync
- disable = yes → disable = no 수정
현재 xinetd 데몬과 연동하지 않아도 별도의 rsync 데몬이 제공되어서 필수는 아님
자동 백업이 아닌 수동 백업인 경우 패스워드를 입력해줄 경우 설정없이 바로 복사 가능함
방화벽에서 TCP / 873 포트 오픈
원본에서 rsyncd 설정을 하던 복사받는쪽에서 rsyncd 설정을 하든 상관없음
vim /etc/rsyncd.conf (원본 DATA가 있는쪽 서버에서 설정) - 원본
[home] ; 백업서비스 이름
path = /home ; 백업할 자료가 있는 경로
comment = HomeBackup ; 코멘트
uid = root ; 파일을 전송하는 사용자 ID, 디폴트 nobody
gid = root ; 파일을 전송하는 사용자 그룹 id, 디폴트 nobody
use chroot = yes ; path 를 root 디렉토리로 사용, 보안상 필요
**read only = yes ; 읽기전용
**hosts allow = IP ; 호스트별 접속 허용, 디폴트는 all host
max connections = 1 ; 동시접속자수
timeout 600 ; 클라이언트 접근시 타임아웃시간, anoymous 운영시 설정이 되어 있어야 클라이언트가
죽었을때 접속해제 가능
: 위 예제와 같이 대괄호 [ ] 묶어서 2개 이상 설정도 가능하다
vim /etc/rsyncd.conf (동기화 당하는쪽 서버 에서 설정) - 복사본
[home] ; 백업서비스 이름
path = /home ; 백업할 자료가 있는 경로
comment = HomeBackup ; 코멘트
uid = root ; 파일을 전송하는 사용자 ID, 디폴트 nobody
gid = root ; 파일을 전송하는 사용자 그룹 id, 디폴트 nobody
use chroot = yes ; path 를 root 디렉토리로 사용, 보안상 필요
**read only = no ; 쓰기 가능
**hosts allow = IP ; 호스트별 접속 허용, 디폴트는 all host
max connections = 1 ; 동시접속자수
timeout 600 ; 클라이언트 접근시 타임아웃시간, anoymous 운영시 설정이 되어 있어야 클라이언트가
죽었을때 접속해제 가능
/etc/rc.d/init.d/xinetd restart
- 설정파일 변경한후는 무조건 restart 해준다...
rsyncd 백업하는 방법... (For 슈퍼데몬 xinetd)**
기본형식
데이터를 보내거나 받거나 어떤 설정이든 원본이 앞에 명시되고 복사본이 뒤에 명시되어야 함
반대로 하는 경우 원본 데이터가 삭제될 수 있으니 원본 데이터 백업후에 테스팅은 필수
rsyncd 댕김
rsync -avzPog 원본쪽IP::백업이름 백업디렉토리
ex) rsync -avzPog 192.168.15.178::test /home/test/
rsyncd 밀다
rsync -avzPog 백업디렉토리 복사본만들IP::백업이름
ex) rsync -avzPog /data1/ 192.168.15.179::data1
ssh를 사용한 미러링
- xinted 설정파일 및 rsyncd.conf 파일 필요없음, 사용자 인증만 되면 동기화 가능
ex ) rsync -avz -e ssh hostname(IP):/타켓경로 / 백업받을경로
rsync -avz -e "ssh -p 22" XXX.XXX.30.229:/home /backup/
rsync -avzPog /etc/shadowroot@XXX.XXX.15.178:/etc
op)
-a : archive mode 심볼릭 링크, 속성, 퍼미션, 소유권 보존
-v : verbose 진행상황 표시
-z : compress 전송시 압축 수행
-u : update only 새로운 파일을 덮어쓰지 않음
-e : 복사를 위한 원격접속쉘 프로그램을 설정한다
--delete : 서버측에 없고 클라이언트측에만 있는 파일을 지운다
--ignore-existing : 복사본쪽에 파일이 존재하면 건너뛴다
--update : 복사본쪽이 최신 파일이면 건너뛴다
: 은 ssh 나 rsh 를 이용할때 사용
:: 은 TCP 873 포트를 이용할때 설정 (xinetd)
z 옵션은 압축하여 전송하고 다시 복사본쪽에 압축푸는 작업 발생 (넣을지 뺄지 테스팅 해보자)
퍼미션 무시하고 (덮어쓰지 않고) 동기화 하기
"-rltgoDvz" 옵션 사용하면 됨
ex)
rsync -avzrO --delete --exclude="backup-53/" 115.XX.XX.52::DB /home/backup-52
- 115.XX.XX.52에 설정된 DB라는 이름의 백업을 /home/backup-52파티션에 복사
- 해당 원본의 backup-53/ 폴더를 제외하고 백업을 함
파일 확장자로도 가능
--exclude="mysql-bin.*"
--exclude=*.bak
--exclude=*.info
--exclude="backup-53/" : backup-53 폴더는 생기지만 하위자료 복사 안됨
--exclude="backup-53/" : backup-53 폴더도 생성되지 않음
--exclude 옵션은 절대경로가 아닌 상대경로임
error) 아래와 같이 에러시 설정부분에 문제가 없는데 계속 에러가 난다면 selinux 해제 하자 (setenforce 0)
[root@localhost /]# rsync -avzO 192.168.2.53::TEST /home/backup-53/
receiving file list ... rsync: opendir "/." (in TEST) failed: Permission denied (13)
done
sent 70 bytes received 133 bytes 406.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files could not be transferred (code 23) at main.c(1385)
'Linux' 카테고리의 다른 글
cron (crontab) (0) | 2015.06.04 |
---|---|
MON tools 설치 (0) | 2015.06.04 |
NTP(Network Time Protocol) 서버 구축 (0) | 2015.06.04 |
error getting update info: Cannot retrieve repository metadata (0) | 2015.06.04 |
You have new mail in /var/spool/mail/root (0) | 2015.06.04 |
- Total
- Today
- Yesterday
- OpenVPN
- virtualbox
- mod_security
- Apache
- ssh
- MySQL
- yum
- centos8
- iptables
- NGINX
- L2TP
- SSL
- 인증서
- glusterfs
- 리눅스
- gitlab
- HAProxy
- mariadb
- pptp
- centOS7
- cURL
- softether
- kvm
- GeoIP
- php
- galera
- WAF
- IPSEC
- ntp
- 베이어다이나믹
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |