728x90
rsync는 로컬과 원격 시스템 간에 파일 및 디렉토리를 효율적으로 복사하거나 동기화할 수 있는 매우 강력한 도구입니다.
🔧 기본 형식
rsync [옵션] [원본] [대상]
원본과 대상은 로컬 또는 원격 경로가 될 수 있으며, 원격일 경우 user@host:/path/ 형태로 지정합니다.
📌 자주 쓰는 주요 옵션
옵션 설명
| -a | 아카이브 모드 (재귀 복사 + 퍼미션, 타임스탬프 등 유지) |
| -v | 상세 출력 (verbose) |
| -z | 데이터 압축 (느린 네트워크에서 유리) |
| -e ssh | SSH를 사용하여 원격 연결 |
| --delete | 대상에 없고 원본에 없는 파일은 삭제 (양쪽 동기화용) |
| -P | 진행 상태와 중단된 파일 이어받기 기능 포함 (--progress --partial) |
✅ 사용 예시
1. 로컬 → 로컬 복사
rsync -av /home/user/docs/ /home/user/backup/
- /home/user/docs/ 내용을 /home/user/backup/에 복사
- 디렉토리 끝에 /가 있으면 디렉토리의 내용만 복사됨
2. 로컬 → 원격 서버 전송
rsync -avz -e ssh /home/user/docs/ user@remote.server.com:/home/user/backup/
- SSH를 통해 원격 서버로 데이터 전송
3. 원격 서버 → 로컬로 가져오기
rsync -avz -e ssh user@remote.server.com:/home/user/backup/ /home/user/docs/
- 원격 서버의 데이터를 로컬로 다운로드
4. 완전 동기화 (삭제 포함)
rsync -avz --delete -e ssh /home/user/docs/ user@remote.server.com:/home/user/backup/
- 대상 디렉토리에만 있는 파일을 삭제하여 원본과 완전 일치시킴
⚠️ --delete는 위험할 수 있으니 테스트 후 사용하세요!
5. 파일 하나만 복사
rsync -avz -e ssh file.txt user@remote.server.com:/home/user/
✅ 전송 중 파일 상태 보기
rsync -avzP -e ssh /home/user/docs/ user@remote.server.com:/home/user/backup/
- -P 옵션으로 진행 상황과 재전송 지원 기능까지 확인 가능
728x90