rsync 간략 사용법 정리

|

- 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)
 
And