rsync
명령줄 도구모든 Linux 배포판
rsync는 디렉토리나 컴퓨터 간에 파일을 복사하며 변경된 부분만 전송하므로 반복 복사와 백업이 빨라집니다. 로컬 또는 SSH를 통해 작동하며 -a 아카이브 옵션을 사용하여 권한, 시간, 링크를 유지합니다.
1공통 옵션
-a(아카이브)는 권한, 시간, 소유자 및 심볼릭 링크를 유지하고 재귀적으로 복사합니다. -v는 각 파일을 표시하고, -h는 크기를 읽기 쉽게 출력하며, -z는 네트워크를 통해 압축하고, --progress는 진행 상황을 표시합니다.
2후행 슬래시
rsync -a src/ dest/는 src의 내용을 dest에 복사합니다. rsync -a src dest/는 디렉토리 자체를 복사하여 dest/src를 생성합니다. 이를 잘못 이해하는 것이 가장 흔한 rsync 실수입니다.
3--delete 및 --dry-run
--delete는 소스에 더 이상 존재하지 않는 대상의 파일을 제거하여 정확한 미러를 만듭니다. --dry-run(-n)은 아무것도 변경하지 않고 수행될 작업을 보여주며, --delete와 함께 사용할 때는 항상 먼저 사용해야 합니다.
서버에 폴더를 백업하는 방법
- 먼저 테스트:
rsync -avhn --delete ~/Documents/ user@server:/backup/Documents/ - 복사되거나 삭제될 파일 목록을 읽습니다.
- 실제로 실행:
rsync -avh --delete ~/Documents/ user@server:/backup/Documents/ - 나중에 동일한 명령을 반복합니다. 변경된 부분만 전송됩니다.
주의 사항
--delete를 사용할 때 잘못된 소스 경로는 대상 폴더를 비울 수 있으므로 항상 -n과 함께 먼저 실행하세요.- 미러는 백업 기록이 아닙니다. 삭제되거나 손상된 파일도 그대로 미러링됩니다.
관련 문서
- SSH 키SSH 키 인증의 작동 방식, ssh-keygen을 사용하여 키를 생성하고 서버에 설치하며 보호하는 방법입니다.
- find 명령어로 크고 오래된 파일 찾기Linux에서 find 명령어를 사용하여 크기가 크거나 오래된 파일을 나열하고, 안전하게 미리 본 후 확인된 파일만 삭제하는 방법입니다.
- cron과 crontabcron이 예약된 작업을 실행하는 방식, 다섯 개의 crontab 시간 필드, 시스템 cron 파일의 위치 및 systemd 타이머와의 비교.
출처
- rsync(1) 설명서 페이지 download.samba.org
- rsync 프로젝트 페이지 rsync.samba.org
최종 검토: