50% 할인 모든 플랜, 기간 한정. 시작 가격 $2.48/mo
10분 남음
보안 및 네트워킹

Linux에서 Rsync 사용하기: 원격 서버로 Rsync 활용하기 💻📥

릴리 카넬 By 릴리 카넬 읽는 데 10분 2023년 4월 16일 업데이트됨
원격 서버로 rsync 사용하기

관리자든 일반 사용자든, 파일을 정기적으로 백업하거나 여러 시스템 간에 동기화해야 할 때가 있습니다. 매번 모든 파일을 덮어쓴다면 시간도 오래 걸리고 번거롭습니다. 바로 이럴 때 Linux Rsync 원격 서버 도구가 유용합니다. 이 가이드에서는 자주 쓰이는 Rsync 명령어를 소개하고, 빠르고 안전한 기능을 바로 활용할 수 있도록 안내합니다.

Rsync란 무엇인가요?

원격 동기화 (Rsync) 는 잘 알려진 Linux/Unix 명령어로, 원격 또는 로컬 환경에서 파일과 디렉터리를 복사하고 동기화하는 데 사용됩니다. Rsync 명령어를 활용하면 동기화, 복사, 백업 등 다양한 데이터 관련 작업을 처리할 수 있습니다. 또한 Linux 시스템을 다른 시스템에 미러링하는 것도 가능합니다.

Rsync를 원격 서버에 사용하는 핵심 원리는 빠른 파일 전송에 있습니다. 두 소스 간에 데이터를 전송할 때 변경된 부분만 처리하기 때문입니다. 즉, Rsync 명령어를 사용하면 두 Linux 시스템 간의 차이점만 비교하므로, 불필요한 데이터 전송에 시간을 낭비하지 않아도 됩니다.

왜 Rsync를 사용하나요?

이미 다양한 백업 도구가 있다는 사실은 잘 아실 겁니다. 그렇다면 Rsync가 다른 유틸리티나 명령어와 비교해 어떤 점에서 차별화되는 걸까요?

예를 들어, 파일 전송 프로토콜 (FTP) 를 사용해 웹사이트의 로컬 복사본을 만들거나, SCP (보안 복사 프로토콜) 을 사용할 수 있습니다. 하지만 두 방법 모두 단점이 있습니다. FTP는 데이터 암호화를 지원하지 않아 보안 측면에서 아쉽고, SCP는 FTP와 달리 암호화되지 않은 전송 문제는 없지만 터널을 생성하는 방식 때문에 전송 시간이 더 오래 걸립니다.

이러한 문제의 대안으로, 키 기반 암호화를 적용한 Rsync 원격 서버(Rsync SSH 또는 Rsync over SSH라고도 합니다)를 사용할 수 있습니다. 이 방식은 중복 데이터 전송을 방지하고 SSH 키를 활용합니다. 또한 Rsync는 데이터 송수신 시 압축과 압축 해제를 적용하므로 대역폭 사용량도 줄어듭니다.

Rsync 설치 방법

Rsync는 이미 시스템에 설치되어 있을 가능성이 높습니다. 그래도 자세히 살펴보겠습니다. 시작하기 전에, Rsync over SSH를 사용할 것이므로 소스 시스템과 대상 시스템 모두에 SSH가 미리 설치되어 있어야 한다는 점을 유의하세요.

1단계: SSH 버전 확인

다음 명령어로 SSH 버전을 확인할 수 있습니다:

ssh -V

원격 서버로 Rsync를 사용하려면 로컬 서버(소스)와 원격 서버가 필요합니다. 또한 로컬 서버에 관리자 권한(sudo)이 있어야 합니다.

2단계: Linux에 Rsync 설치

다음 명령어를 사용하면 Ubuntu, Linux Mint, Debian에 Rsync를 설치할 수 있습니다:

sudo apt install rsync -y

Fedora, CentOS, AlmaLinux, Red Hat 등 다른 Linux 배포판을 사용하는 경우, 다음 명령어로 Rsync 원격 서버 서비스를 설치하세요:

sudo dnf install rsync

참고: apt는 Debian 기반 배포판에서 사용하는 패키지 설치 도구입니다.

3단계: Rsync 시작

이제 다음 명령어로 Rsync를 시작하고 활성화하세요:

sudo systemctl start rsync 
sudo systemctl enable rsync

4단계: Rsync 설치 확인

다음 명령어를 실행하면 Rsync가 올바르게 설치되었는지 확인하고, Linux 시스템에서 사용 중인 버전을 확인할 수 있습니다:

rsync --version

다음 섹션에서는 키 기반 인증을 통해 이 도구로 백업을 만드는 방법을 설명합니다.

SSH를 통해 Rsync로 백업을 만드는 방법

SSH를 통한 Rsync의 주요 활용 사례 중 하나는 증분 백업입니다. 작동 방식을 이해하려면 다음 명령어를 참고하세요:

rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir

위 명령어를 실행하면 다음을 동기화할 수 있습니다 sourceDirdestinationDir. 이 명령어에는 알아두어야 할 다른 옵션들도 포함되어 있습니다. 예를 들어 -a (archive)-v (verbose)주의하세요. -e ssh 옵션은 Rsync 연결이 SSH 프로토콜을 통해 이루어지도록 합니다.

만약 SSH 연결 를 기본 포트(22번)가 아닌 다른 포트로 수신하려면, 다음 옵션 뒤에 포트 번호를 지정해야 합니다 -e ssh. 작동 방식을 이해하려면 다음 명령어를 참고하세요.

rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir

위 명령어에서는 기본 포트 22 대신 1998번을 SSH 포트로 사용한다고 가정합니다.

SSH를 통한 Rsync 원격 서버 연결에는 유용한 옵션들이 더 있습니다. 예를 들어 –partial 옵션을 사용하면 Rsync 중단 등의 문제가 발생했을 때 이전에 부분적으로 전송된 파일을 이어서 전송할 수 있습니다. 또한 –progress 옵션으로 현재 파일 전송 진행 상황을 확인할 수 있습니다. Linux Rsync 원격 서버 유틸리티에서는 이 두 기능을 동시에 사용할 수도 있습니다. 이를 위해 -p 플래그를 명령어에 추가하면 됩니다.

rsync -avP  -e ssh /sourceDir/ user@remote:/path/to/destinationDir

키 명령어를 사용한 Rsync 원격 서버 전송은 데이터를 목적지로 보내기 전에 압축할 수 있습니다. CPU 자원을 사용하여 압축이 이루어지지만, 파일 전송 속도를 높이고 대역폭 사용량을 줄일 수 있어 실용적입니다.

Rsync 명령어를 사용하면 로컬 또는 원격으로 파일과 디렉터리를 복사할 수 있습니다. Rsync의 가장 큰 장점은 델타 전송 알고리즘을 기반으로 한다는 점입니다. 이 알고리즘 덕분에 소스에서 대상으로 이미 존재하는 데이터를 중복 복사하지 않아도 됩니다. 앞서 언급했듯이, Rsync의 이 기능은 일일 백업이나 시스템 미러링을 처리할 때 특히 유용합니다. 이제 Rsync 명령어를 로컬 사용 사례에 적용해 보겠습니다.

Rsync로 로컬 동기화하는 방법

로컬 동기화와 Rsync 명령어 사용법을 본격적으로 살펴보기 전에, 아래에 나와 있는 로컬 Rsync의 기본 구조를 먼저 파악해 두는 것이 좋습니다.

rsync [options] [Source] [Destination]

파일을 로컬에서 복사하기

데스크톱 디렉터리(이름: Cloudzy) 로 /home/Public 폴더)에서 파일을 동기화하거나 복사하려면 다음 명령어를 입력하세요.

rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public

위의 Rsync 명령어에는 세 가지 옵션이 포함되어 있습니다. -zvh; 사용하여 -z를 사용하면 전송 중에 파일이 압축됩니다. v 옵션 는 자세한 출력(verbose output)을 나타내며, h 옵션 는 출력을 사람이 읽기 쉬운 형식으로 표시하는 역할을 합니다.

디렉터리를 로컬에서 복사하기

데스크톱 디렉터리(이름: Cloudzy) 로 /home/Public 폴더)를 복사하려면 아래 명령어를 입력하세요.

rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public

-a 이 명령어의 해당 옵션은 동기화 과정에서 디렉터리와 파일을 아카이브 형태로 보존합니다.

대상 폴더의 디렉터리 목록을 확인해 복사 여부를 검증할 수 있습니다. 다음 명령어를 사용하세요.

ls -ld /home/Public

파일과 디렉터리를 재귀적으로 로컬 동기화하기 (Recursive Rsync)

만약 /desktop/Cloudzy안에 여러 디렉터리와 파일이 있고, Rsync 명령어로 이를 재귀적으로 복사하고 싶다면 어떻게 해야 할까요?

이 경우에는 -r 옵션 옵션을 사용해 로컬 파일과 디렉터리를 재귀적으로 동기화할 수 있습니다. 재귀 복사 등 다양한 용도로 활용 가능한 아카이브 옵션 (-a) 옵션도 사용할 수 있습니다. Rsync 재귀 명령어에 익숙해지려면 아래 명령어를 참고하세요.

rsync -zrvh /desktop/Cloudzy /home/Public

Or

rsync -zrvh /desktop/Cloudzy /home/Public

로컬 시스템에서 원격 서버로 디렉터리와 파일 복사하기

앞 섹션에서 언급한 원격 서버 동기화 기능 외에도, Rsync는 로컬 머신에서 원격 시스템으로 파일과 디렉터리를 동기화하는 기능도 제공합니다.

폴더를 복사하려는 경우를 가정해 보겠습니다 (/desktop/Cloudzy/새폴더) 로컬 머신에서 원격 시스템으로 (192.168.1.79 포함) 아래 /mycpt; 다음은 이 작업을 수행하는 예시입니다:

rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt

Rsync로 파일 없이 디렉토리만 복사하는 방법

경우에 따라 Linux Rsync의 원격 서버 기능을 사용해 파일 없이 디렉토리만 복사해야 할 수 있습니다. 이 동기화는 원격 머신에서 로컬 시스템으로, 또는 그 반대 방향으로도 가능합니다.

이 문서에서는 다음 주소의 원격 시스템을 사용합니다 192.168.1.79. 해당 디렉토리가 다음 경로 아래에 있다고 가정합니다 /mycpt 폴더 안에 있으며, 파일을 제외하고 /desktop/Cloudzy 디렉토리를 로컬 시스템에서 복사하려 합니다. 아래 명령어를 입력하세요:

rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/

유용한 Rsync 명령어 모음

여기서는 실제로 활용할 수 있는 추가적인 Linux Rsync 명령어를 살펴봅니다.

Rsync 파일 전송 최대 크기 설정

Rsync 명령어를 사용해 파일 전송 크기 상한을 지정할 수 있습니다. 원격 서버와 로컬 머신 간에 Rsync를 정기적으로 실행할 때 대역폭과 시간이 중요한 경우 특히 유용합니다. 아래 명령어를 통해 Rsync 파일 전송 크기 제한을 설정하는 방법을 확인하세요:

rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public

Rsync 파일 전송 최소 크기 설정

최대 크기 설정과 마찬가지로, 원격 서버 도구인 Rsync로 전송할 파일의 최소 크기도 지정할 수 있습니다. 아래 명령어에서는 최소 파일 크기를 10k로 설정합니다:

rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public

동기화 완료 후 소스에서 파일 삭제

Rsync 명령어 실행이 끝난 후 소스 시스템에 파일을 남겨 둘 필요가 없다면, 아래와 같이 Linux Rsync 명령어를 사용해 소스에서 파일을 삭제할 수 있습니다:

rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

드라이 런 동기화

Linux Rsync 유틸리티가 처음이거나 옵션이 익숙하지 않다면 시험 운행 드라이 런을 사용하는 것이 좋습니다. Rsync에서 드라이 런을 실행하면 실제 파일을 변경하지 않고 명령어의 출력 결과만 보여줍니다. 명령어를 실행할 준비가 되면 –건조-실행 옵션을 제거하고 터미널에서 실행하면 됩니다. 드라이 런 기능에 대한 자세한 내용은 아래 명령어를 참고하세요.

rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

정리: Linux Rsync 명령어 활용

이 문서에서는 다양한 사용 사례에 맞게 Linux Rsync의 원격 서버 및 로컬 서버 동기화 기능을 활용하는 방법을 설명했습니다. 여기에는 시스템 미러링파일 백업 생성, 그리고 효율적인 방식으로 로컬 및 원격에서 파일과 디렉토리를 복사하는 작업이 포함됩니다. 이 널리 알려진 Linux 명령어를 사용하면 빠른 파일 전송은 물론 SSH와 데이터 압축 기능도 함께 활용할 수 있습니다.

Linux VPS 호스팅

저렴한 가격으로 웹사이트 호스팅이나 원격 데스크톱에 사용할 수 있는 일반 또는 프리미엄 Linux VPS를 지금 바로 이용해 보세요. Linux KVM 기반으로 효율성을 높이고, NVMe SSD 스토리지가 탑재된 고성능 하드웨어로 빠른 속도를 제공합니다.

더 보기

이 운영 체제를 최대한 활용하려면 Cloudzy에서 Linux VPS 솔루션을 이용하세요. KVM 기반 호스팅 플랜으로 더 나은 환경을 경험할 수 있습니다. Cloudzy는 99.95% 업타임, 안정적인 서비스, 낮은 레이턴시, 전 세계 12개 데이터 센터, 초고속 SSD 스토리지, 24/7 기술 지원을 갖춘 고성능 VPS 서비스를 제공합니다. Linux VPS는 $4.95부터 시작할 수 있으며, 더 높은 사양이 필요하다면 언제든 업그레이드할 수 있습니다.

자주 묻는 질문

Rsync는 어떤 TCP 포트를 사용하나요?

SSH의 기본 포트는 22번입니다. 따라서 SSH를 통해 rsync를 사용할 때는 이 포트를 통해 동작합니다. 반면, Rsync 데몬을 사용할 경우에는 873번 포트가 사용됩니다.

Rsync란 무엇입니까?

Rsync는 파일과 디렉터리를 원격 또는 로컬로 동기화할 수 있는 Linux 유틸리티입니다. Rsync 명령어를 사용하면 동기화, 복사, 백업 등 다양한 데이터 작업을 수행할 수 있습니다.

공유

블로그 더 보기

계속 읽기.

노트북이 빛나는 파란색과 금색 디지털 터널과 방패 아이콘을 통해 서버 랙에 연결되는 모습을 보여주는 MikroTik L2TP VPN 가이드의 Cloudzy 타이틀 이미지.
보안 및 네트워킹

MikroTik L2TP VPN 설정 (IPsec 포함): RouterOS 가이드 (2026)

이 MikroTik L2TP VPN 설정에서 L2TP는 터널링을 담당하고 IPsec은 암호화와 무결성을 담당합니다. 두 가지를 함께 사용하면 서드파티 없이도 네이티브 클라이언트 호환성을 확보할 수 있습니다.

렉사 사이러스렉사 사이러스 9분 분량
어두운 청록색 배경에 원격 호스트 식별 변경 경고 메시지와 수정 가이드 제목, Cloudzy 브랜딩이 표시된 SSH 터미널 화면.
보안 및 네트워킹

경고: 원격 호스트 식별이 변경되었습니다 - 수정 방법

SSH는 시스템 간에 암호화된 터널을 생성하는 보안 네트워크 프로토콜입니다. GUI 없이도 컴퓨터에 원격으로 접속해야 하는 개발자들 사이에서 꾸준히 사용되고 있습니다.

렉사 사이러스렉사 사이러스 읽는 데 10분
어두운 배경에 경고 기호와 파란색 서버가 있는 Linux 이름 확인 오류 관련 DNS 서버 문제 해결 가이드 일러스트
보안 및 네트워킹

이름 확인 임시 실패: 원인과 해결 방법

Linux를 사용하다 보면 웹사이트 접속, 패키지 업데이트, 인터넷 연결이 필요한 작업 실행 시 이름 확인 임시 실패 오류가 발생할 수 있습니다.

렉사 사이러스렉사 사이러스 읽는 데 12분

배포할 준비가 됐나요? 월 $2.48부터.

2008년부터 운영해온 독립 클라우드. AMD EPYC, NVMe, 40 Gbps. 14일 환불 보장.