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

[참고사이트] – rsync 명령어 사용법1. rsync 커맨드 (1) 기본적인 사용법$ rsync [options…] [source] [target](2) 옵션옵션 설명-v–vervose진행 상황을 상세히 표시.(전송한 파일의 내역, 보내다/수신된 용량, 전송 속도, 소요 시간)-q,-quiet진행 정보를 표시하지 않는다.cron등에 의한 배치 처리 등으로 사용한다.-c,-checksum checksum사용. 파일 사이즈를 꼼꼼히 살핀다.-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=COMMAND remote shell프로그램 선택( 다른 ssh포토를 사용할 경우, e’ssh-p[포토 번호]-max-size특정 크기 이상의 파일을 제외-min-size특정 크기 이하의 파일 제외-delete소스 경로에 없는 파일을 목적지 경로에서 삭제한다.-exclude제외할 파일 지정-progress파일 전송 진행 내용을 나타내고 있다.-stats의 결과를 자세히 나타낸다.옵션 설명-v–vervose진행 상황을 상세히 표시.(전송한 파일의 내역, 보내다/수신된 용량, 전송 속도, 소요 시간)-q,-quiet진행 정보를 표시하지 않는다.cron등에 의한 배치 처리 등으로 사용한다.-c,-checksum checksum사용. 파일 사이즈를 꼼꼼히 살핀다.-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=COMMAND remote shell프로그램 선택( 다른 ssh포토를 사용할 경우, e’ssh-p[포토 번호]-max-size특정 크기 이상의 파일을 제외-min-size특정 크기 이하의 파일 제외-delete소스 경로에 없는 파일을 목적지 경로에서 삭제한다.-exclude제외할 파일 지정-progress파일 전송 진행 내용을 나타내고 있다.-stats의 결과를 자세히 나타낸다.# rsync [파일명] [타깃 패스] rsync-avzhP 테스트.txt /tmp# 전송시 파일명 변경도 가능rsync -avzhP test.txt /tmp/test-renamed.txt(2) 로컬에 디렉토리를 복사합니다# rsync [디렉토리명] [타깃 패스] # 디렉토리 자체가 복사된다.rsync -avzhP test-directory /tmp# 디렉토리 내 파일들과 하위 디렉토리들 복사 # rsync [디렉토리명]/ [타깃패스] 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테스트.txttwpower-private-server:~/test-renamed.txtrsync-avzhP test.txt [email protected]~/test-renamed.txt(4) 원격으로 디렉토리를 복사합니다#rsync[디렉토리 이름][유저]@[IP주소]:[Path]#디렉토리자체가 복사된다. rsync-avzhP test-directory twpower-private-server:~rsync-avzhP test-directory [email protected]~#디렉토리내 파일들과하위 디렉토리들복사#rsync[디렉토리 이름]/[유저]@[IP주소]:[Path]rsync-avzhP test-directory/twpower-private-server:~rsync-avzhP test-directory/[email protected]~(5) 원격에 있는 파일 로컬로 가져올게요# rsync [사용자] + [IP 주소]: [파일명] [Path]rsync-avzhPtwpower-private-server: ~/test.txt.rsync -avzhPtwpower+192。168.1.2:~/テスト.txt.# | | | rsync-avzhPtwpower-private-server: ~/test.txt./test-rename。txtrsync -avzhPtwpower+192。168.1.2:~テスト.txt./ test- renameed. txt(6) 원격 디렉토리 로컬로 가져오기#rsync[유저]@[IP주소]:[디렉토리 이름][통과]#디렉토리자체가 복사된다. rsync-avzhP twpower-private-server:~/test-directory . rsync-avzhP [email protected]~/test-directory .#디렉토리 내파일들과 하위디렉토리들복사#rsync[User]@[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]… -essh [USER@]HOST:SRC… [DEST]rsync -avzhP -e ssh [email protected]:/path/from/src /dest② 원격 서버가 기본값(22) 이외의 포트에서 SSH 접속을 허용하는 경우#로컬에서 리모트로:rsync[OPTION]···-e’ssh-p[Port]'[SRC]···[USER@]HOST:DESTrsync-avzhP-e’ssh-p 2200’/src/[email protected]:/path/to/dst#로컬에 리모트:rsync[OPTION]···-e’ssh-p[Port]'[USER@]HOST:SRC…[DEST]rsync-avzhP-e’ssh-p 2200’[email protected]:/path/from/src/dest(8) 제외 옵션 ① 특정 파일 제외 – 특정 파일을 제외하려면 파일의 상대 경로를 –exclude 옵션으로 전달합니다. – 다음 예제에서는 src_directory/file.txt는 전송되지 않습니다.rsync-a-exclude’ 파일.txt’s rc_directory/dst_directory/② 특정 디렉토리 제외 – 특정 디렉토리를 제외하는 것은 파일을 제외하는 것과 같고, 아래에 표시된 것처럼 상대방의 경로를 디렉토리에 -exclude 옵션으로 전송하기만 하면 됩니다.rsync -a –exclude ‘dir1’ src_directory/ dst_directory/- 디렉토리의 내용을 제외하지만 디렉토리 자체는 제외하지 않으려면 dir1 대신 dir1/*를 사용합니다.rsync –a –exclude ‘dir 1/*’ src_directory/ dst_directory/③ 여러 파일 또는 디렉토리 제외 – 여러 파일 또는 디렉토리를 제외하려면 여러 – 제외 옵션을 지정합니다.rsync -a –exclude ‘file1。txt’ –exclude ‘dir1/*’ –exclude ‘dir2’ src_directory/ dst_directory/- 단일 제외 옵션을 사용하려면 다음과 같이 쉼표로 구분된 {}에서 제외할 파일과 디렉토리를 나열할 수 있습니다.rsync -a –exclude={‘file1}.txt’, dir1/*’, dir2′} src_directory/ dst_directory/- 제외할 파일 및/또는 디렉토리 수가 많은 경우 파일에서 제외할 파일 및 디렉토리를 지정하여 exclude-from 옵션에 파일을 전달할 수 있습니다. 아래 명령어는 위 명령어와 동일합니다.rsync -a –exclude- from=’exclude-file.txt’s rc_directory/dst_directory/# exclude-file.txtfile1。txtdir1/*dir2④ 패턴에 근거해 복수의 파일 또는 디렉토리를 제외-rsync를 사용하면, 파일 또는 디렉토리명과 일치하는 패턴에 근거해 파일 및 디렉토리를 제외할 수도 있습니다. 예를 들어, 실행하는 모든 .jpg 파일을 제외하려면 다음과 같이 합니다.rsync –a –exclude ‘*.jpg*’ src_directory/ dst_directory/- 특정 패턴과 일치하는 파일 및 디렉토리를 제외한 다른 모든 파일 및 디렉토리를 제외하는 것이 더 어렵습니다.jpg로 끝나는 파일을 제외한 다른 모든 파일과 디렉토리를 제외하고자 합니다. 한 가지 옵션은 다음 명령을 사용하는 것입니다.rsync -a -m –include=’*.jpg’ –include=’*/’ –exclude=’*’ 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/ dst_directory/- -printf %P\\0\n – 파일 경로에서 src_directory/를 삭제합니다. – files-from = – 은 표준 입력 파일(검색 명령에서 전달된 파일)만 포함합니다.

error: Content is protected !!