[유닉스/리눅스] RSync 명령어 사용법

[참고 사이트] – rsync 명령어 사용법 1. rsync 명령어 (1) 기본 사용법

$ $ rsync [source] [target]

(2) 옵션

옵션 설명-v-vervose의 진행 상황을 상세히 표시.(전송한 파일의 내역, 송수신된 용량, 전송 속도, 소요 시간)-q,-quiet진행 정보를 표시하지 않는다. 복제 등에 의한 배치 처리 등으로 사용한다.-c,-checksumchecksum사용. 파일 사이즈를 꼼꼼히 살핀다.-a,-archive아카이브 모드 사용(rlptgoD를 한목에 적용하는 것). 파일 권한, 타임 스탬프, 상징적 링크 등을 모두 동기화한다.-r-recursive하위 디렉토리까지 모두 가져오-R,-relative상대 경로 사용-b-backup이제 파일이 존재할 경우 백업 파일을 작성한다.(파일 이름에~가 붙은 파일에서 생성되는)-u–update소스 패스보다 최신 파일이 이미 있는 경우에는 취득하지 않는다.-d,-dirs소스 경로에 없을 파일이 목적지 경로에 있는 경우 해당 파일을 삭제한다.-D디바이스 파일 저장-l,-links상징적 링크를 함께 취득한다.-L-copy-links상징적 링크 파일을 참조 파일 또는 디렉토리에 변환-k-copy-dirlinks감독 리의 상징적 링크를 참조 디렉토리에 변환-K-keep-dirlinks감독 리의 상징적 링크를 유지하고 가져올.-H,-hard-links하드 링크를 보존하고 가져올.-p,-perms퍼미션을 보존하고 가져올.-E,-executability파일의 실행 가능성 유지-o,-owner소유자를 보존하고 가져올.-g–group그룹을 담아 온다.-t–times파일의 변경 시간을 그대로 가지고 온다.-h사람이 읽기 쉬운 형식으로 결과를 출력한다.-P-partial-progress옵션과 같습니다.-z-compress데이터를 압축하여 송수신-e,-rsh=COMMANDLE mote shell프로그램 선택( 다른 ssh포토를 사용할 경우, e’ssh-p[포토 번호]’-max-size특정 사이즈 이상의 파일을 제외한-min-size특정 크기 이하의 파일을 제외한-delete소스 경로에 없을 파일을 목적지 경로에서 삭제한다.-exclude제외할 파일 지정-progress파일 전송 진행 내용을 나타낸다.-stats결과를 자세히 보인다.

옵션 설명-v,-vervose 진행상황 자세히 보기. (전송한 파일 내역, 송수신된 용량, 전송속도, 소요시간)-q,–quiet 진행정보를 표시하지 않는다. 클론 등에 의한 배치 처리 등으로 사용한다.-c, -checksumchecksum 사용. 파일 크기를 꼼꼼히 체크한다.-a, -archive 아카이브 모드 사용(rlptgoD를 한 번에 한꺼번에 적용할 것). 파일 권한, 타임스탬프, 심볼릭 링크 등을 모두 동기화한다.-r, -recursive 하위 디렉토리까지 모두 Import-R, -relative 상대 경로 사용-b, -backup 이미 파일이 존재하는 경우 백업 파일을 작성한다. (파일 이름에 ~가 붙은 파일로 생성됨) -u, –update 소스 경로보다 최신 파일이 이미 있는 경우 취득하지 않는다.-d, -dirs 소스 경로에 없는 파일이 목적지 경로에 있는 경우 해당 파일을 삭제한다. -D 디바이스 파일 저장 -l, –links 심볼릭 링크를 함께 가져온다.-L, -copy-links 심볼릭 링크 파일을 참조 파일 또는 디렉토리로 변환-k, -copy-dirlinks 디렉터리 심볼릭 링크를 참조 디렉토리로 변환-K, -keep-dirlinks 디렉터리 심볼릭 링크를 유지하여 Import 한다.-H, -hard-links 하드링크를 저장하고 Import 한다. -p, -perms 퍼미션을 저장하고 Import 한다.-E, –executability 파일 실행 가능성 유지 -o, -owner 소유자를 저장하여 가져옵니다. -g, -group 그룹을 저장하여 가져온다.-t, -times 파일 변경 시간 그대로 가져온다.-h인이 읽기 쉬운 포맷으로 결과를 출력한다. -P–partial–progress 옵션과 동일합니다.-z, -compress 데이터를 압축하여 송수신-e, -rsh = COMMANDLE mote shell 프로그램 선택(다른 sh포트를 사용할 경우 -e’sh-p [포트 번호] –max-size 특정 크기 이상의 파일 제외 –min-size 특정 크기 이하의 파일 제외 –delete 소스 패스에 없는 파일을 목적지 경로에서 삭제한다.–exclude 제외할 파일 지정–progress 파일 전송 진행 내역을 보여준다.–stats 결과를 자세히 보여준다.

# rsync [파일명] [타깃패스] rsync-avzhP 테스트txt/tmp#전rsync-avzhP 테스트.txt /tmp/test-interval。txt

(2) 로컬 디렉토리 복사# rsync [디렉토리명] [타겟패스] #디시엔씨-avzhP test-directory/tmp #디시엔씨 [디렉토리명]/[타겟패스]rsync-avzhP test-directory/tmp(3) 원격으로 파일복사-SSH 키를 통해 비밀번호 없이 원격서버 접속방법: ‘[유닉스/리눅스] SSH에서 원격서버에 공개키(Public Key) 복사’ 포스트참조# rsync [파일명] [사용자]@[IP 주소]: [Path]rsync-avzhP 테스트.txt twpower-private-server:~rsync-avzhP テスト。txt [email protected]:~# 송rsync -avzhP test。txt twpower-private-server:~/test-server。txtrsync -avzhP 테스트.txt [email protected]:~/test-interval。txt(4) 원격으로 디렉토리 복사#rsync[디렉토리 이름][유저]@[IP주소]:[Path]#디토리자체 가다사된. rsync-avzhP test-directory twpower-private-server:~rsync-avzhP test-directory [email protected]~#렉토리과들디파렉복사위토리들일하내복렉디 r[directory#사 sync[복[rname가/리 user사다된들-av[렉]체#rsync[디렉토리 이름]/[디렉토리 이름]/[유저]@[유저]IP주소]:[Path]rsync-avzhP test-directory/twpower-private-server:~rsync-avzhP test-directory/[email protected]~(5) 원격 파일 로컬로 가져오기# # # rsync [User]+[IP 주소]: [파일 이름] [Path]rsync-avzhP twpower-private-server: ~/test。txt.rsync -avzhP twpower=192。168.1.2:~/テスト。txt.# \\\\\rsync -avzhP twpower-private-server: ~/test。txt./test-name。txtrsync -avzhP twpower=192。168.1.2:~テスト。txt./test-name。txt(6) 원격 디렉토리 로컬로 가져오기#rsync[유저]@[IP주소]:[디렉토리 이름][통과]#디토리자 체가다사. rsync-avzhP twpower-private-server:~/test-directory.rsync-avzhP [email protected]~/test-directory.#렉토들과리리위토렉사들디복일하된복파렉디내 r[#user사들 sync]r복[[@다사리가토된렉 synczhav복체-위과들리리 test-. 일디토렉자 power토 IP주소]:[디렉토리 이름]/[통과]rsync-avzhP twpower-private-server:~/test-directory/. rsync-avzhP [email protected]~/test-directory/.(7) SSH 명령과 같이 사용 ① SSH를 통해 원격 시스템에 접속하도록 지시하는 옵션# 로컬에서 리모트: rsync [OPTION] … -essh [SRC] . . [USER@] HOST:DESTrsync-avzhP-essh/src/[email protected]: /path/to/dst # 로컬로의 리모트: rsync [OPTION] . -esh [USER@] 호스트: SRC… [DEST] [email protected]: / path/from② 리모트 서버가 디폴트(22)가 아닌 다른 포트로부터 SSH 접속을 허가하는 경우# 로컬에서 리모트: rsync [OPTION] … -e’sh-p [포트] “[SRC] . . [USER@] HOST:DESTrsync -avzhP -e’sh-p 2200′ /src/[email protected]:/path/to/dst #로컬로컬로의 리모트: rsync [OPTION] … -e’sh-p [포트] “USER@] 호스트: SRC… [DEST]rsync-avzhP-evzhP-vzh(8) 제외 옵션 ① 특정 파일 제외 – 특정 파일을 제외하려면 파일의 상대 경로를 –exclude 옵션으로 전달합니다. – 다음 예제에서는 src_directory/file.txt가 전송되지 않습니다.rsync-a -interval’ 파일.txt’src_directory/ dst_directory/② 특정 디렉토리 제외 – 특정 디렉토리를 제외하는 것은 파일을 제외하는 것과 같으며, 아래와 같이 상대 경로를 디렉토리에 -exclude 옵션으로 전달하기만 하면 됩니다.rsync -a –crypto ‘dir1’ src_directory/ dst_directory/- 디렉토리 내용을 제외하되 디렉토리 자체는 제외하지 않으려면 dir1 대신 dir1/*를 사용해야 합니다.rsync -a –sync ‘dir1/*’ src_directory/ dst_directory/ を指定します③ 여러 파일 또는 디렉토리 제외 – 여러 파일 또는 디렉토리를 제외하려면 멀티 – 제외 옵션을 지정하십시오.rsync -a –interval ‘file1。txt’ –context ‘dir1/*’ –context ‘dir2’ src_directory/ dst_directory/- 단일 제외 옵션을 사용하려면 다음과 같이 쉼표로 구분된 {}에서 제외할 파일 및 디렉토리를 나열할 수 있습니다.rsync -a –file={‘file1}。txt’,dir1/*’,dir2′} src_directory/ dst_directory/- 제외할 파일 및/또는 디렉토리의 수가 많을 경우 파일에서 제외할 파일 및 디렉토리를 지정하고 –exclude-from 옵션으로 파일을 전달할 수 있습니다. 아래 명령어는 위 명령어와 완전히 동일합니다.rsync -a –interval-from=’interval-file。txtのsrc_directory/dst_directory/# exclude-file。txtfile1。txtdir1/*dir2④ 패턴에 따라 여러 파일 또는 디렉토리 제외 – rsync를 사용하면 파일 또는 디렉토리 이름과 일치하는 패턴을 기반으로 파일 및 디렉토리를 제외할 수도 있습니다. 예를 들어, 실행할 모든 .jpg 파일을 제외하려면 다음과 같이 하십시오.rsync -a –details ‘*.jpg*’ src_directory/ dst_directory/- 특정 패턴과 일치하는 파일 및 디렉토리를 제외한 다른 모든 파일 및 디렉토리를 제외하는 것이 더 어렵습니다.jpg로 끝나는 파일을 제외한 다른 모든 파일과 디렉토리를 제외하려고 합니다. 한 가지 옵션은 다음 명령을 사용하는 것입니다.rsync -a -m –crypto=’*.jpg’ –crypto=’*/’ –crypto=’*’ src_directory/ dst_directory/- 포함/제외 옵션을 여러 개 사용할 경우 첫 번째 일치 규칙이 적용됩니다. –https=’*.jpg’ – 먼저 모든 .jpg 파일을 포함합니다. –filename=’*/’ – 그 후 src_directory 디렉토리에 모든 디렉토리를 포함합니다. 이 rsync를 사용하지 않으면 최상위 디렉토리에만 *.jpg 파일이 복사됩니다. -m – 빈 디렉토리를 삭제합니다.다른 옵션은 rsync하기 위해 find 명령의 출력을 파이프로 연결하는 것입니다.find src_directory/ -name “*.jpg” -printf %P\\0\\n | rsync -a —files-from=- src_directory/- printf%P0\n – 파일 경로에서 src_directory/를 삭제합니다. – files-from= –는 표준 입력 파일(검색 명령어로 전달된 파일)만 포함합니다.