Rsync 명령어: 옵션 | 사용 예시

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

Rsync 명령어는 Remote sync의 줄임말로 원격에서 로컬, 로컬에서 로컬로의 파일 및 디렉토리를 복사하는 프로그램입니다.

rsync에는 두 가지 접속 방법이 있는데 SSH를 통해 접속하는 방법과 rsync 데몬을 통해 접속하는 방법입니다.

✅ rsync의 두 가지 접속 방법

🔲 SSH 사용

SSH를 통한 접속(: 사용)은 [rsync [옵션] user@host:/경로 /로컬경로]의 방법으로 이용되며 내부적으롤 SSH 프로토콜을 사용합니다. SSH를 사용하기 때문에 보안 연결은 암호화 되어 통신됩니다.

🔲 rsync 데몬을 통한 접속

rsync 데몬을 통한 접속(:: 사용)은 [rsync [옵션] host::모듈 /로컬경로]의 방법으로 접속합니다. 873 포트가 기본 포트입니다. /etc/rsyncd.conf에 정의된 Module 이름을 사용합니다.

rsync 데몬이 직접 실행 중이 아닌 상태에서도 대상 리모트 서버에서 rsync 데몬 방식으로 rsync가 정상 실행되었다면, 이는 inetd, xinetd, 또는 systemd socket 슈퍼 데몬 방식으로 rsync가 요청 시 자동 실행되기 때문입니다.

슈퍼 데몬은 외부 요청을 대기하다가 해당 요청에 맞는 서비스를 필요할 때만 실행해주는 중간 관리자 역할의 서비스입니다.

구분

SSH 방식 (:)

rsync 데몬 방식 (::)

접속 형식

rsync [옵션] user@host:/경로 /로컬경로

rsync [옵션] host::모듈 /로컬경로

사용 포트

SSH 기본 포트 (보통 22번)

rsync 기본 포트 873번

보안

SSH를 통해 암호화된 통신

기본적으로 암호화되지 않음

인증 방식

SSH 키 또는 비밀번호

별도 인증 설정 가능 (보통 IP 제한 등)

설정 파일

없음 (SSH 설정에 따름)

/etc/rsyncd.conf

데몬 실행 필요 여부

불필요

필요 (직접 실행 또는 슈퍼 데몬 방식)

데몬 실행 방식

해당 없음

수동 실행 또는 inetd, xinetd, systemd socket 등 슈퍼 데몬에 의해 자동 실행 가능

rsync
├── 접속 방식
├── SSH 방식 (: 사용)
   ├── 형식: rsync [옵션] user@host:/원격경로 /로컬경로
   └── 특징: SSH 프로토콜 사용, 암호화된 통신
├── 데몬 방식 (:: 사용)
   ├── 형식: rsync [옵션] host::모듈 /로컬경로
   ├── 포트: 기본 873번 사용
   ├── 설정: /etc/rsyncd.conf의 module 정의 필요
   └── 실행 방식
       ├── rsync 데몬 직접 실행
       └── 슈퍼 데몬 방식
           ├── inetd
           ├── xinetd
           └── systemd socket
└── 로컬  로컬 복사

└── 주요 특징
    ├── 효율적 동기화 (차이점만 전송)
    └── 주요 옵션 (-a, -z, -v, -e )

✅ Rsync 설치

yum -y install rsync

✅ Rsync 기본 사용 방법

rsync options source destination

✅ Rsync 명령어 옵션

✅ Rsync 사용 예시: SSH

🔲원격에서 로컬 서버로 복사

rsync -avz root@192.168.45.239:/home/1server_data/html_Remote /home/2server_data
rsync 명령어_원격에서 로컬 실행_결과

🔲로컬에서 원격 서버로 복사

rsync -avz /home/2server_data/로컬파일 root@192.168.45.239:/home/1server_data/
Rsync 명령어: 옵션 | 사용 예시

🔲 원격에서 로컬: 특정 디렉토리 및 파일 제외

rsync -avz --exclude 'html_Remote_Excertion' --exclude 'Exception_File' root@192.168.45.239:/home/1server_data/ /home/2server_data
rsync 명령어_원격에서 로컬_특정 파일 및 디렉토리 제외

🔲 원격에서 로컬: 특정 디렉토리/* , 파일 제외

rsync -avz --exclude={'html_Remote_excertion/*','Exception_File'} root@192.168.45.239:/home/1server_data/ /home/2server_data
rsync 명령어_원격에서 로컬_특정 파일 및 디렉토리(이하 파일,폴더) 제외

✅ Rsync 사용 예시: etc/rsync.conf

원격 서버의 conf 파일을 설정합니다.

[myhome]
path=/home
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 192.168.45.182

CentOS 7에서 FirewallD 기본 활성화 상태라 873 포트를 허용 해 준 후 테스트를 진행했습니다.

firewall-cmd --permanent --add-port=873/tcp
firewall-cmd --reload

◻️SELinux 비활성화

퍼미션 오류 발생으로 원격 서버의 setenforce 0으로 SELinux를 비활성화 해 줍니다.

rsync -avz 192.168.45.239::myhome/1server_data/  /home/2server_data/
receiving incremental file list
rsync: change_dir "/1server_data" (in myhome) failed: Permission denied (13)

sent 8 bytes  received 90 bytes  65.33 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1658) [Receiver=3.1.2]
rsync: read error: Connection reset by peer (104)

🔲 [원격] 모듈 확인

[root@localhost 2server_data]# rsync 192.168.45.239::
myhome         	
home           	
[root@localhost 2server_data]# rsync 192.168.45.239::myhome
drwxr-xr-x          4,096 2025/06/12 22:14:39 .
drwxr-xr-x          4,096 2025/06/12 22:21:10 1server_data
drwxr-xr-x          4,096 2025/06/12 22:14:39 2server_data
drwx------          4,096 2025/06/12 21:07:44 testuser
drwx------          4,096 2025/06/12 21:07:49 testuser2
drwx------          4,096 2025/06/12 21:07:52 testuser3

🔲 [원격]>[로컬]

[root@localhost 2server_data]# rsync -avz 192.168.45.239::myhome/1server_data/  /home/2server_data/
receiving incremental file list
./
Exception_File
html_Remote/
html_Remote_Excertion/

sent 58 bytes  received 332 bytes  780.00 bytes/sec
total size is 442  speedup is 1.13
[root@localhost 2server_data]# 

🔲 [원격]>[로컬] —delete 옵션 사용

delete 옵션은 원격에 없는 파일 및 폴더를 제거합니다.

rsync -avz --delete  192.168.45.239::myhome/1server_data/  /home/2server_data/
rsync 명령어_원격에서 로컬_delete 옵션 사용

🔲 [원격]>[로컬] include, exclude 옵션 사용

복사할 파일을 추가하거나 제외 시킵니다.

rsync -avz --include '*..html' --exclude 'exclude.txt' 192.168.45.239::myhome/1server_data/  /home/2server_data/
rsync 명령어_원격에서 로컬_delete, include, exclude 옵션 사용

🔲 [원격]>[로컬]: –max-size= | -min-size=

전송할 파일의 최대 크기 및 최소 기를 지정합니다.

rsync -avz --max-size='3M' --min-size='10k' 192.168.45.239::myhome/1server_data/  /home/2server_data/

receiving incremental file list

🔲 [원격]>[로컬]: Bandwidth 제한 설정

대역폭을 제한합니다. [ –bwlimit=Kbps]

대역폭을 100kb로 제한하면서 -P 옵션을 추가해서 진행 사항을 같이 확인합니다.

rsync -avzP --bwlimit=100 192.168.45.239::myhome/1server_data/  /home/2server_data/
rsync 명령어_원격에서 로컬_대역폭 100kb 제한 및 진행사항 -P 옵션으로 확인

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • [Linux] usermod 명령어

    usermod 명령어는 user modification(사용자 수정)의 약자로 이미 존재하는 사용자 계정의 속성을 변경할 때 사용됩니다. usermod는 사용자의 로그인 이름, UID (사용자 ID), 홈 디렉토리, 로그인 셸, 그룹 등의 속성을 변경할 수 있는 명령어입니다. ✅ usermod 명령어 기본 옵션 ✅ 주요 옵션 ✅ 사용 예시 🔲 사용자 홈 디렉토리 변경 사용자의 홈 디렉토리를 변경할 때 -m…

  • 리눅스 sort 명령어: 파일 정렬

    종류 및 분류의 사전적 의미를 가진 리눅스 sort 명령어는 아스키 파일 내용(레코드)을 정렬할 때 사용하는 명령어입니다. 알파벳순이나 오름차순 또는 내림차순으로 정렬해야 하는 경우에 사용하는 명령어입니다. ✅ 리눅스 sort 명령어 기본 사용 방법 ✅ 리눅스 sort 명령어 옵션 ✅ 리눅스 sort 명령어 사용 예시 기본 사용 방법입니다.

  • 리눅스 history 명령어

    리눅스 history 명령어는 이전에 명령어 목록을 확인하는 명령어로 리눅스 콘솔에 접속했을 때 자주 사용하는 명령어 중에 하나입니다. 보통 history만 입력해서 많이 사용하지만 보다 더 다양한 활용 방법에 대해서 알아 보겠습니다. ✅ 리눅스 history 명령어 기본 사용 history 명령어 자체만 입력해서 주로 많이 사용합니다. ✅ history 명령어 옵션 ✅ history 명령어 파이프(|) 명령어와 함께…

  • 리눅스 퍼미션(4,2,1)과 소유권 | chmod, chown, umask 명령어 | 스티키 비트

    리눅스 퍼미션(Permission)은 권한(&허가)을 의미합니다. 유닉스 계열 운영 체제들은 MS-DOS 계열의 운영 체제들은 멀티 테스킹 시스템이 아니며 멀티 유저 시스템 역시 아닙니다. 보통 컴퓨터는 하나의 키보드와 모니터를 가지고 한 명이 사용하지만 멀티 유저 시스템인 리눅스는 한 명 이상이 사용할 수 있다는 것을 의미합니다. 유닉스 계열의 멀티 유저 시스템은 운영 체제 설계 초기부터 깊게 내장된…

  • nslookup 명령어

    nslookup 명령어는 네임 서버 조회(Name Server Lookup)를 뜻하는 명령어로 네임 서버의 정보를 얻기 위한 명령어입니다. DNS(Domain Name System)에 질의 후 대상 도메인의 IP 주소나 DNS 레코드 등의 정보를 얻기 위한 네트워크 명령어입니다. DNS 서버의 정상적인 작동을 통해 정상적인 네트워크 설정이 되었는지 확인할 때 많이 사용하게 되는 명령어 중 하나입니다. 보통 맥 OS 및…

  • certbot 명령어(인증서 관리 및 삭제)

    Alma Linux에서 이 사이트에 Certbot 설치 및 갱신 설치를 해 진행하는 중 인증서 삭제 후 재설치를 할 이유가 생겨 삭제와 함께 나머지 Certbot 명령어 사용법에 대해 체크하게 되었습니다. certbot 명령어는 다음 페이지에서 확인했습니다. ✅ certbot 명령어: 인증서 관리 사용 중인 인증서 목록을 보려면 다음 명령어를 입력합니다. ✅ 기존 인증서 재생성 및 업데이트 certonly…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 6   +   1   =