rsync_명령어_사용법

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
rsync_명령어_사용법 [2022/06/12 01:55] – 만듦 koovrsync_명령어_사용법 [2022/12/06 05:43] (현재) – [패턴을 기준으로 여러 파일 또는 디렉터리를 제외] koov
줄 4: 줄 4:
 rcp 그리고 scp와 같이 파일이나 디렉토리를 복사할 때 사용하는 기본 내장 명령어입니다. 원격 컴퓨터에 파일이나 디렉토리를 전달할 수 있을뿐만 아니라 로컬로도 복사가 가능합니다. 반대로 원격에 있는 디렉토리나 파일들을 가져올수도 있습니다. rcp 그리고 scp와 같이 파일이나 디렉토리를 복사할 때 사용하는 기본 내장 명령어입니다. 원격 컴퓨터에 파일이나 디렉토리를 전달할 수 있을뿐만 아니라 로컬로도 복사가 가능합니다. 반대로 원격에 있는 디렉토리나 파일들을 가져올수도 있습니다.
 옵션이 정말 다양하게 많으며 많은 옵션들을 이용해 다양한 기능들을 활용할 수 있습니다.(symlink 유지, 권한 유지 그리고 파일 날짜 유지와 같은 기능들) 옵션이 정말 다양하게 많으며 많은 옵션들을 이용해 다양한 기능들을 활용할 수 있습니다.(symlink 유지, 권한 유지 그리고 파일 날짜 유지와 같은 기능들)
- 
  
 ===== 기본 사용법 ===== ===== 기본 사용법 =====
줄 33: 줄 32:
  
  
-===== 로컬로 파일 복사 =====+==== 로컬로 파일 복사 ====
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
줄 46: 줄 45:
 </WRAP> </WRAP>
  
-===== 로컬로 디렉토리 복사 =====+==== 로컬로 디렉토리 복사 ====
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
줄 62: 줄 61:
 </WRAP> </WRAP>
  
-===== 원격에 파일 복사 =====+==== 원격에 파일 복사 ====
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
줄 77: 줄 76:
 </WRAP> </WRAP>
  
-===== 원격에 디렉토리 복사 =====+==== 원격에 디렉토리 복사 ====
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
줄 95: 줄 94:
 </WRAP> </WRAP>
  
-===== 원격에 있는 파일 로컬로 가져오기 =====+==== 원격에 있는 파일 로컬로 가져오기 ====
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
줄 112: 줄 111:
 </WRAP> </WRAP>
  
-===== 원격에 있는 디렉토리 로컬로 가져오기 =====+==== 원격에 있는 디렉토리 로컬로 가져오기 ====
 <WRAP prewrap> <WRAP prewrap>
 <code bash> <code bash>
줄 130: 줄 129:
 </code> </code>
 </WRAP> </WRAP>
 +
 +===== 제외 옵션 =====
 +
 +==== 특정 파일을 제외 ====
 +
 +특정 파일을 제외하려면 파일의 상대 경로를 ''%%--exclude%%'' 옵션에 전달합니다. 
 +다음 예에서는 ''src_directory/file.txt''는 전송되지 않습니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude 'file.txt' src_directory/ dst_directory/
 +</code>
 +</WRAP>
 + 
 +==== 특정 디렉터리를 제외 ====
 +특정 디렉터리를 제외하는 것은 파일을 제외하는 것과 동일하며 아래 표시된 것처럼 상대 경로를 디렉터리에 --exclude 옵션에 전달하기만 하면 됩니다.
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude 'dir1' src_directory/ dst_directory/
 +</code>
 +</WRAP>
 + 
 +디렉토리 내용을 제외하지만 디렉토리 자체는 제외하지 않으려면 dir1 대신 dir1/*를 사용하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude 'dir1/*' src_directory/ dst_directory/
 +</code>
 +</WRAP>
 +
 +==== 여러 파일 또는 디렉터리를 제외 ====
 +여러 파일 또는 디렉터리를 제외하려면 다중 --제외 옵션을 지정하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/
 +</code>
 +</WRAP>
 + 
 +단일 제외 옵션을 사용하려면 다음과 같이 쉼표로 구분된 ''{}''에서 제외할 파일 및 디렉터리를 나열할 수 있습니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude={'file1.txt','dir1/*','dir2'} src_directory/ dst_directory/
 +</code>
 +</WRAP>
 + 
 +
 +제외할 파일 및/또는 디렉토리의 수가 많은 경우, 파일에서 제외할 파일 및 디렉토리를 지정하고 ''%%--exclude-from%%'' 옵션에 파일을 전달할 수 있습니다.
 +아래 명령은 위의 명령과 정확히 동일합니다.
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/
 +
 +# exclude-file.txt
 +file1.txt
 +dir1/*
 +dir2
 +</code>
 +</WRAP>
 +
 +
 +==== 패턴을 기준으로 여러 파일 또는 디렉터리를 제외 ====
 +''rsync''를 사용하면 파일 또는 디렉터리 이름과 일치하는 패턴을 기준으로 파일 및 디렉터리를 제외할 수도 있습니다.
 +
 +예를 들어, 실행할 모든 ''.jpg'' 파일을 제외하려면 다음과 같이 하십시오.
 +
 +<WRAP prewrap>
 +<code bash>
 +rsync -a --exclude '*.jpg*' src_directory/ dst_directory/
 +</code>
 +</WRAP>
 +
 +특정 패턴과 일치하는 파일 및 디렉터리를 제외한 다른 모든 파일 및 디렉터리를 제외하는 것이 더 어렵습니다. ''.jpg''로 끝나는 파일을 제외한 다른 모든 파일과 디렉터리를 제외하려고 합니다.
 +
 +한 가지 옵션은 다음 명령을 사용하는 것입니다.
 +
 +<WRAP prewrap>
 +<code bash>
 +rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/
 +</code>
 +</WRAP>
 +
 +포함/제외 옵션을 여러 개 사용하는 경우 첫 번째 일치 규칙이 적용됩니다.
 +
 +  * ''%%--https='*.jpg'%%'' - 먼저 모든 ''.jpg'' 파일을 포함합니다.
 +
 +  * ''%%--filename='*/'%%'' - 그런 다음 ''src_directory'' 디렉토리에 모든 디렉토리를 포함합니다. 이 ''rsync''를 사용하지 않으면 최상위 디렉토리에만 ''*.jpg'' 파일이 복사됩니다.
 +
 +  * ''-m'' - 빈 디렉터리를 제거합니다.
 +
 +
 +다른 옵션은 ''rsync''하기 위해 ''find'' 명령의 출력을 파이프로 연결하는 것입니다.
 +<WRAP prewrap>
 +<code bash>
 +find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/
 +</code>
 +</WRAP>
 + 
 +''%%-printf %P\\0\n%%'' - 파일 경로에서 ''src_directory/''를 제거합니다.
 +
 +''%%--files-from=%%'' - 는 표준 입력의 파일(찾기 명령에서 전달된 파일)만 포함합니다.
  
  • rsync_명령어_사용법.1654998914.txt.gz
  • 마지막으로 수정됨: 2022/06/12 01:55
  • 저자 koov