안녕하세요! 😊
오늘은 Rsync를 활용한 파일 전송 및 동기화 방법을 정리해보겠습니다.
**Rsync(Remote Sync)**는 빠르고 효율적인 파일 복사 및 동기화 도구입니다.
서버 간 데이터 백업, 로컬 디렉터리 동기화 등에 많이 사용됩니다.
그럼 Rsync의 개념부터 실전 사용법까지 차근차근 살펴보겠습니다! 🚀
🔍 1. Rsync란?
**Rsync(Remote Sync)**는 파일 및 디렉터리를 동기화하는 강력한 도구입니다.
✅ 주요 특징
- 빠르고 효율적인 증분 복사(변경된 파일만 전송)
- SSH 지원으로 보안 강화
- 로컬 및 원격 서버 간 파일 복사 가능
- 소스와 대상 디렉터리를 동기화하여 백업 가능
✅ Rsync 기본 사용 형식
rsync [옵션] [소스] [대상]
- 소스(Source) : 복사할 파일/디렉터리
- 대상(Destination) : 파일을 복사할 위치
🛠 2. Rsync 설치 방법
일반적으로 CentOS에는 rsync가 기본 설치되어 있습니다.
설치 여부를 확인하려면 아래 명령어를 실행하세요.
rsync --version
📌 출력 예시
rsync version 3.1.3 protocol version 31
✅ Rsync가 설치되지 않았다면 아래 명령어로 설치하세요.
sudo dnf install -y rsync
📂 3. Rsync 기본 사용법
📌 3.1 로컬 파일 복사
단순히 파일을 한 디렉터리에서 다른 디렉터리로 복사하는 방법입니다.
rsync -av /home/user/source/ /home/user/backup/
✅ source 디렉터리의 모든 파일을 backup 디렉터리로 복사합니다.
📌 옵션 설명
- -a : 아카이브 모드(권한, 소유권, 심볼릭 링크 유지)
- -v : 진행 상황 출력(Verbose)
🔄 4. 원격 서버와 파일 전송
✅ Rsync는 SSH를 사용하여 원격 서버로 파일을 전송할 수 있습니다.
📌 4.1 원격 서버에서 파일 가져오기 (Download)
rsync -av user@remote_server:/home/user/data/ /local/backup/
✅ 원격 서버의 /home/user/data/ 디렉터리를 로컬 /local/backup/에 복사합니다.
📌 4.2 원격 서버로 파일 보내기 (Upload)
rsync -av /home/user/data/ user@remote_server:/remote/backup/
✅ 로컬 /home/user/data/ 디렉터리를 원격 서버의 /remote/backup/에 복사합니다.
📌 SSH 포트가 기본(22번)이 아닐 경우?
rsync -av -e "ssh -p 2222" /home/user/data/ user@remote_server:/remote/backup/
✅ -e "ssh -p 2222" 옵션을 추가하여 SSH 포트(예: 2222번) 지정 가능
🔥 5. Rsync 옵션 정리 (필수 옵션 Best 10)
✅ 자주 사용하는 Rsync 옵션들을 정리했습니다!
옵션 설명
-a | 아카이브 모드 (파일 권한, 소유권, 심볼릭 링크 유지) |
-v | 진행 상황을 출력 (Verbose) |
-z | 전송 시 파일을 압축 (압축하여 속도 향상) |
-P | 전송 진행률 표시 + 중단된 전송 이어서 하기 (--progress --partial) |
-r | 디렉터리 내부까지 재귀적으로 복사 (기본 기능) |
-u | 최신 파일만 전송 (수정되지 않은 파일은 건너뜀) |
--delete | 대상 폴더에 없는 파일 삭제 (소스와 동기화) |
-e "ssh -p 포트번호" | SSH 포트 변경 (기본 22번 외 포트 지정) |
--exclude "파일명" | 특정 파일/디렉터리 제외 |
--dry-run | 실제 실행하지 않고 시뮬레이션 (테스트용) |
🎯 6. 실전 예제 (활용 예시)
✅ 6.1 진행률을 보며 파일 동기화
rsync -avP /source/ /destination/
✅ 진행률과 복사된 파일을 볼 수 있습니다.
✅ 6.2 최신 파일만 동기화 (수정된 파일만 전송)
rsync -avu /source/ /destination/
✅ 기존 파일보다 새로운 파일만 복사하여 속도 최적화 가능
✅ 6.3 원격 서버에서 특정 파일을 제외하고 다운로드
rsync -av --exclude "*.log" user@remote:/data/ /local/backup/
✅ .log 파일을 제외하고 동기화
✅ 6.4 원격 서버와 완전한 동기화 (삭제 포함)
rsync -av --delete /source/ /destination/
✅ --delete 옵션을 사용하여 대상 폴더에 없는 파일을 삭제하여 동기화
✅ 6.5 테스트 실행 (실제 전송 없이 미리보기)
rsync -av --dry-run /source/ /destination/
✅ 실제 실행하지 않고 어떤 파일이 전송될지 미리 확인 가능
🚀 7. 자동 백업 스케줄링 (Crontab 활용)
✅ Rsync를 자동 백업 스케줄로 설정할 수도 있습니다.
crontab -e
📌 예제: 매일 밤 2시에 백업 실행
0 2 * * * rsync -av /home/user/data/ user@remote_server:/backup/
✅ 매일 새벽 2시에 자동으로 백업을 수행하는 설정입니다!
🎯 마무리
오늘은 Rsync의 개념부터 실전 사용법까지 정리해보았습니다! 🚀
✅ 핵심 요약
✔ Rsync는 빠르고 강력한 파일 동기화 도구
✔ 로컬 & 원격 서버 간 파일 복사 가능 (SSH 지원)
✔ 옵션을 활용하면 효율적인 백업 및 동기화 가능
✔ Crontab을 사용해 자동 백업 스케줄링 가능
💡 Rsync를 활용하면 데이터 백업과 동기화가 더욱 편리해집니다!
도움이 되셨다면 댓글과 공유 부탁드립니다! 😊
💬 다음에도 유용한 리눅스 정보를 가져올게요! 🚀🚀🚀
'리눅스-Linux' 카테고리의 다른 글
CentOS 8에서 Nginx 설치 및 설정 가이드 (0) | 2025.02.25 |
---|---|
📌 [CentOS] Failed to mount /sysroot 해결 방법 🚀 (0) | 2025.02.24 |
📌 [Rocky Linux 8] GUI (GNOME) 설치 방법 완벽 정리! 🚀 (0) | 2025.02.24 |
📌 [CentOS 8] 디스크 관리 | RAID 개념 완벽 정리 🚀 (0) | 2025.02.24 |
[리눅스] CentOS 8에서 디스크 용량 증설하는 방법 완벽 정리! (0) | 2025.02.24 |