Linux OS/관리

rsync 설치, 사용법

서버엔지니어 2023. 3. 26.
728x90

rsync란?

rsync란? 서로 다른 두 컴퓨터에 컴퓨터에 들어 있는 정보를 서로 동기화 시킬때 사용한다. 동일한 소스가 두군대 존재하고 한쪽을 편집했을때, 다른 한쪽에 편집한 부분을 업데이트 시켜줘야 한다. 이때 rsync는 수정된 부분만 비교해서 옮겨 주게 됩니다. 그리고 anonymous 서버로드 설정할 수 있는 등 많은 유용한 기능들이 있습니다.

 

rsync 방화벽 허용

Rsync(파일 동기화)

- TCP 873
# iptables -A -INPUT -p tcp -m tcp --dport 873 -j ACCEPT

 

Rsync 설치하기

1. rsync, xinetd 설치 확인
# rpm -qa | grep rsync
# rpm -qa | grep xinetd

2. rsync, xinetd 설치 하기
# yum -y install rsync
# yum -y install xinetd

Rsync 서버 설정하기

1. xinetd rsync 설정파일 수정

# vi /etc/xinetd.d/rsync
==============================================================================
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#       allows crc checksumming etc.
service rsync
{
        disable = no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
'disable=yes'라고 되어있는 부분을 'disable=no'로 변경합니다
==============================================================================

2. rsync 설정파일 작성

# vi /etc/rsync.conf
==============================================================================
[rsync_test]            -> 사용할 rsync 서비스 이름
path = /usr/local/test  -> 데이터원본 경로
comment = rsync_test    -> 코멘트
uid = root              -> 권한 사용자
gid = root              -> 권한 그룹
use chroot = yes
read only = yes
hosts allow = 192.168.10.10 -> rsync 클라이언트IP, localhost일 경우 입력하지 않아도 된다
max connections = 10
timeout = 30 
==============================================================================

3. xinetd 서비스 재시작
service xinetd restart

rsync 옵션과 사용방법

rsync 사용시 옵션을 잘 확인하신 후 진행하셔야 되며, 정확한 옵션을 주지않아 파일이 삭제, 덮어쓰기로있는 문제가 발생할수 있으니 꼼꼼하게 확인하고 진행하셔야 됩니다

rsync 사용법 : [명령어] [옵션] [IP]::[rsync 서비스명] [저장될 경로]

-a : 권한 및 속성 복사
-v : 자세한 정보 출력
-z : 전송시 압축하여 전송
-r : 하위 디렉토리 포함
-u : 덮어쓰기를 하지않는옵션(-u 옵션을 사용하지 않는것을 권장합니다)
-p : preserve permissions
-o : preserve owner
-g : preserve group
--delete : 동기화시 서버에 파일이 없다면 클라이언트에서 파일이 삭제
--update : 동기화시 원본 서버에 최신화 파일만 클라이언트에 전송
--progesss : 진행정도를 화면에 출력

 

[ rsync 동기화 명령어 ]

rsync [options ...] [source] [target]

!!원본에서 명령어 칠경우!!
rsync -avzhPog 원본디렉토리위치   대상ID@대상IP:디렉토리위치

!!대상에서 명령어 칠경우!!
rsync -avzhPog 원본ID@원본IP:디렉토리위치   대상디렉토리위치

대상에서 명령어 칠경우 (원본보다 대상파일에서 최신일경우 복사안함)
rsync -avzhPog --update root@123.123.123.123:/home/93it/*  /home/93it/

대상에서 원본의 파일을 복사할 것들 확인
rsync -avzhPog --dry-run root@123.123.123.123:/home/93it/*  /home/93it/

대상에서 원본의 ssh포트가 다를때

rsync -avzhPog -e 'ssh -p 6757' root@IP:파일위치/*  저장할파일위치

 

 

 

 

 

댓글