참고
rsync 기본
- 파일 크기, 수정시간 비교해 전송한다.
- 이 방법은 양단간에 블럭 크기, 시간 등이 다르면 실수를 발생할 수 있다.
--checksum옵션은 파일 속성의 체크섬을 사용하여 좀 더 정밀하게 전송 결정을 판단할 수 있다. 단 느릴 수 있다.- 또한 전송할 파일 전체를 전송하지 않고 chunk 단위로 나누고 각 chunk의 checksum을 계산해 전송한다.
- 즉 incremental 전송을 할 수 있다.
주요 옵션:
- a 복사 파일의 속성값들을 유지한다. (권한, 심볼릭링크 등)
- v : 복사 항목을 출력한다.
- z : 압축을 하여 전송함으로서 대역폭 및 시간을 절약한다.
- h : 진행 결과를 보기좋게 출력한다.
패턴 포함
$ rsync -zarv –prune-empty-dirs –include=”/“ –include=”.pdf” –exclude=”*” “$from” “$to”
패턴 무시
rsync -Paz –exclude /Downloads –exclude ‘/Pictures’ –exclude .cache
/home/chris/ admin@192.168.1.65:LinuxHome
무시 파일 목록
rsync -Paz –exclude-from ‘rsync-exclude.txt’ / admin@192.168.1.65:`
symbolic link 처리Link to symbolic link 처리
심블릭 링크의 경우 link 로 처리(–link)하거나 원본을 따라가서 원본을 복사(-L), 또는 제외(–no-links)하는 3가지 옵션이 있다.
링크
rsync -avz –link –progress lesstif@example.com:/home/lesstif/data /home/lesstif/backup/
참조하는 원본 복사
rsync -avz -L –progress lesstif@example.com:/home/lesstif/data /home/lesstif/backup/
파일이 존재할 경우 덮어쓰기(overwrite)
rsync 는 파일이 목적지에 존재할 경우 생성 시간과 크기를 비교해서 동일할 경우 건너뜀.
-I, –ignore-times 옵션을 주면 생성 시간을 확인하지 않으므로 덮어쓰기와 동일한 효과 발생
rsync -avz -I –progress lesstif@example.com:/home/lesstif/data /home/lesstif/backup/
모두 삭제
삭제$ mkdir empty빈 디렉터리 생성$ rsync -a –delete ./empty/ ./destination/destination 디렉터리를 empty 디렉터리와 동기화한다.empty가 비어 있으므로 destination 디렉터리 안의 모든 내용은 삭제된다.디렉터리를 비운후 디텍터리로 날리려면 아래와 같이 센스를 발휘하자…$ rsync -a –delete ./empty/ ./destination/ ; rm -rf destination참고자료- http://www.joinc.co.kr/w/Site/Tip/Rsync