- rsync 옵션
-r : 하위 디렉토리까지 전송. 소유권, 그룹, 권한, 시간, 심볼릭링크를 유지하지 않음.
-a : 하위 디렉토리까지 전송. 소유권, 그룹, 권한, 시간, 심볼릭링크를 유지.
-z : 전송시 데이터 압축 사용.
-b : 동기화중 백업 실행.
-h : 출력 숫자를 표시.
-n : 전송테스트. 실제 전송전 테스트용.
-e : 외부 쉘프로그램을 이용함. 주로 원격전송시 ssh 등의 접속에 이용
-progress : 전송 진행상태 표시.
-v : 전송 세부내역 표시.
-q : 전송시 출력을 최소화.
-delete : 소스 디렉토리에서 삭제된 내용은 대상 디렉토리에서도 삭제처리.
-exclude : 전송대상에서 제외할 파일이나 디렉토리.
--max-size(최대크기), --bwlimit(대역폭)... 등도 있다.
- 사용법
1. 기본
# rsync -avzh /소스디렉토리 /대상디렉토리
2. 소스디렉토리 삭제시 대상 디렉토리에서도 삭제
# rsync -avzh --delete /소스디렉토리 /대상디렉토리
3.1 대상제외
# rsync -avzh --delete='제외할 파일이나 디렉토리' /소스디렉토리 /대상디렉토리
3.1.1
제외할 파일/디렉토리는 파일검색 표현식을 사용할수 있음 (예:*.jpg, abc*.*...)
3.2 대상제외2
# rsync -avzh --delete='제외대상1' --delete='제외대상2' /소스디렉토리 /대상디렉토리
3.3 대상제외3
# rsync -avzh --delete={'제외대상1','제외대상2'} /소스디렉토리 /대상디렉토리
3.4 대상제외4
# rsync -avzh --delete-from='대상내용이 담긴 텍스트 파일' /소스디렉토리 /대상디렉토리
3.4.1 대상내용이 담긴 텍스트 파일 구성
aaa.txt
*.jpg
abc*.*
4. ssh 이용해서 전송
# rsync -avzh -e 'ssh -p 22' /소스디렉토리 계정ID@외부URI:/대상디렉토리
5. 날짜변수지정
# rsync -avzh /소스디렉토리 /대상디렉토리/$(date +%Y-%m-%d)