1. rsync yum 설치 및 설정
1) yum 설치
os에 기본적으로 rsync가 설치되어있는 경우도 있지만 설치가 안되어있다면 설치 진행
# yum -y install rsync # rpm -qa |grep rsync rsync-3.0.6-12.el6.x86_64 # yum -y install xinetd # rpm -qa |grep xinted xinetd-2.3.14-40.el6.x86_64 |
2) 방화벽 설정
# vi /etc/sysconfig/iptables
# /etc/init.d/iptables restart # iptables -nL | grep 873 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:873 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:873 |
3) rsync 설정
# vi /etc/xinetd.d/rsync
# vi /etc/rsyncd.conf
# rsync -v localhost:: test this is rsync testing test2 successss \\rsync 서비스 2개 만들어도 사용이 가능 (test1, test2) # /etc/init.d/xinetd restart |
* 오류발생
**오류** # telnet localhost 873 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused # rsync -v localhost:: rsync: failed to connect to localhost: Connection refused (111) rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6] **해결방법** # netstat -nltp \\ 로 해당 데몬 올라와있는지 확인, 올라와있지 않는다면 아래 명령어 진행 # rsync --daemon |
참고 url : http://rosagigantea.tistory.com/509
2. rsync source 설치 및 설정
1) source 설치
https://rsync.samba.org/ftp/rsync 에서 다운로드 가능 # cd /usr/local/src # wget https://rsync.samba.org/ftp/rsync/rsync-3.1.2.tar.gz # tar zxvf rsync-3.1.2.tar.gz # cd rsync-3.1.2 # yum install -y gcc gcc-++ # ./configure --prefix=/usr/local/rsync \\ 설치 경로 # make && make install # yum install -y perl \\ make 시 perl 과 관련된 에러가 출력된다면 perl 설치 후에 다시 진행 |
2) rsync 설정
컴파일시 prefix 옵션을 주지 않으면 기본적으로 /usr/local/bin/rsync 에 설치가 됨. 현재는 prefix=/usr/local/rsync 에 두었기 때문에 /usr/local/rsync 하위에 etc,log 디렉토리를 만들어줌. # mkdir /usr/local/rsync/{log,etc} \\ rsync log확인을 위한 설정을 진행 # echo “local3.info /usr/local/rsync/log/rsync.log” >> /etc/syslog.conf # touch /usr/local/rsync/log/rsync.log rsync 구동시 사용할 설정 파일을 생성 # vi /usr/local/rsync/etc/rsyncd.conf
rsync path 설정 및 데몬을 구동 # vi ~/.bash_profile
# source ~/.bash_profile rsnyc 데몬을 구동시 사용할 rsyncd.conf 파일을 입력 # rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf # netstat -nltp | grep rsync 다음의 명령어를 통해 rsyncd.conf 에서 설정한 서비스를 확인 # rsync -v localhost:: |
3. rsync 사용
1) rsyncd.conf 에서 설정한 서비스를 이용하지 않고 ssh 를 이용한 접근도 가능
다음과 같은 명령어를 통해 설정한 서비스명(디렉토리) 하위 데이타를 받을 수 있습니다.
# rsync -avzPog [rsync설정한 서버]::[서비스명] [받을 경로] # rsync -avzPog 115.68.222.110::ftp /usr/local/src |
rsyncd.conf 에 서비스 등록시 read only = no 로 진행했다면 업로드도 가능
# rsync -avzPog [업로드할 파일] [업로드 받을 클라이언트 IP]::ftp [업로드할 경로] # rsync -avzPog /usr/local/src 115.68.221.178::ftp /usr/local/src |
2) 원격지의 접속정보를 알고 있는 경우 ssh를 이용한 rsync 사용법
# rsync -avzPog -e ssh [가져올 서버의 IP]:[가져올 파일의 위치] [받을 경로] # rsnyc -avzPog -e ssh 115.68.222.110:/usr/local/apache/htdocs /usr/local/src # rsync -avzPog [업로드할 파일] [업로드 받을 계정@업로드 받을 아이피]:[업로드 받을 위치] # rsync -avzPog /home/itsyou2/ itsyou@115.68.221.178:/home/itsyou itsyou@115.68.221.178's password: |
4. rsync 옵션
-a : 아카이브 모드, 심볼릭 링크, 속성, 퍼미션, 소유권 등을 보존
-v : 진행상황을 자세히 보여줌
-q : -v 의 반대로 진행사항을 보여주지 않음
-R : 상대 경로를 사용
-b : 백업을 진행
-l : 심볼릭 링크를 보존
-H : 하드링크를 보존
-p : 퍼미션을 업데이트
-o : 소유속성을 보존(루트).
-g : 그룹속성을 보존
-t : 타임스탬프를 보존
-z : 파일을 압축(동일 시스템에서 복사할때는 오히려 속도가 떨어지므로 사용하지 않는것이 좋음)
-r : 하위 디렉토리까지 포함
-u : 업데이트된 파일만 전송(새로운 파일을 덮어쓰지 않음)
-c : 항상 파일을 체크
-e ssh(rsh) : ssh 를 사용
--existing : 추가된 파일은 전송하지않고 갱신된 파일만 전송
--delete : 서버에 없는 파일은 클라이언트에서도 삭제
--exclude '패턴' : 패턴과 맞는 파일만 전송
--stats : 전송 결과를 보고
'서버 & 시스템 > Linux' 카테고리의 다른 글
MySQL 데이터베이스 백업 및 복원 (0) | 2017.10.05 |
---|---|
MySQL root 비밀번호 초기화 (0) | 2017.10.05 |
apache php 확장 모듈 설치 (0) | 2017.10.03 |
Centos 6 APM 설치 (apache, php, mysql) (0) | 2017.10.03 |
특정 IP만 SSH접속 허용하기 (0) | 2017.09.18 |