2022-07-12 rsync

2022. 7. 12. 23:31BE/Linux

 

 

인터넷을 통한 서버간 동기화 (rsync) - 생활코딩

수업소개 여기서는 인터넷을 통해서 컴퓨터와 컴퓨터의 파일을 동기화하는 방법인 rsync 대해서 알아봅니다.  수업 강의 1 강의 2

opentutorials.org

이 글은 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다.


rsync

 

수업목표 : “여기서는 인터넷을 통해서 컴퓨터와 컴퓨터의 파일을 동기화하는 방법인 rsync 대해서 알아봅니다.”

 

rsync는 컴퓨터 시스템 상에서 파일을 효율적으로 전송하고 동기화하기 위한 유틸리티의 하나로, 파일의 타임스탬프와 크기를 검사함으로써 이루어진다.

 

rsync 명령어는 서버 간에 동기화나 백업을 진행할 때 유용하다.

 

적은 양의 리소스와 빠른 퍼포먼스로 동기화를 구축할 수 있다.(변경된 파일에 대해서만 작업을 수행하기 때문)

 


reference

 

rsync [options] [source] [destination]

 

short long 설명
-a --archive 자주 사용하는 옵션을 묶어놓은 옵션(= -rlptgoD)
-r --recursive 하위 디렉토리까지 복사
-l --links 심볼릭 링크 유지하면서 동기화
-p --perms 퍼미션 정보 유지하면서 동기화
-t --times 타임스탬프 유지하면서 동기화
-g --group 그룹 소유권 보존
-o --owner 소유권 보존
-D   디바이스 파일 보존
-h   결과를 사람이 읽기 편한 포맷으로 출력
-v --verbose 동기화 시 상세 정보를 표시
-q --quiet 동기화 시 상세 정보를 표시 하지 않음.
  --delete 원본 소스에 없는 파일은 백업 서버에서 삭제
  --exclude 제외할 파일 지정 (ex: --exclude='*.cnf' --exclude='abc.php')
  --include 포함할 파일 지정(ex: .pdf파일만 전송해라 ==>  --include="*/" --include="*.pdf" --exclude="*" )
-n --dry-run 실제 파일 복사를 하는것이 아니라, 처리될 대상 파일 목록만 출력
-b --backup 백업서버에 이미 파일이 존재할경우 백업 디렉토리에 백업
-u --update 백업서버에 원본보다 최신 파일이 있을 경우 해당 파일은 복사하지 않음.
-e   ssh를 10000 port를 사용한다면  (ex:  -e 'ssh -p 100000')
-z   데이터 파일을 압축

-avh : 자주 사용하는 옵션

 

출처 : https://cipleme.tistory.com/m/25

 

(centos7) rsync 자주 사용되는 명령어(옵션)

rsync (Remote Sync)는 site간의 파일 또는 디렉토리의 동기화를 위한 유틸리티입니다. 서버파일 명령어인 scp는 모든 파일을 전송하는 반면, rsync는 변경된 파일만 전송을 함으로써 더 빠르고 효율적인

cipleme.tistory.com

 


예제 1 (같은 PC 아래 두 디렉터리 동기화)

 

 

srcdest 디렉터리는 ~/rsync 디렉터리 아래 위치한다.

 

이때 src 디렉터리 하위에 위치한 test1~10까지의 파일을 dest 디렉터리 하위로 동기화하고자 한다.

 

cd ~/rsync

rsync -a src/ dest

위와 같이 명령어를 입력하면 dest 디렉터리 하위에 test1~10 파일이 동기화되어 생성된 것을 확인할 수 있다.

 

단, 이때 주의할 점이 있다.

rsync -a src dest

위와 같이 src/가 아닌 src만 입력한 경우 원하지 않는 방식으로 처리된다.

 

src 하위에 위치한 test1~10의 파일이 동기화되는 것이 아니라 dest 디렉터리 하위에 src라는 디렉터리가 생성된다.

 


예제 2 (다른 PC 간의 동기화)

 

다른 PC에 위치한 두 디렉터리 간의 동기화 방법에 대해서 알아보겠다.

 

목표 PC의 ip 주소는 123.4.5.6이고 사용자 id는 tiredI라고 가정한다.

 

rsync -azP ~/rsync/src/ tiredI@123.4.5.6:~/rsync/dest

이때 역시도 src/라고 정확하게 입력해야 한다.

 

-z는 zip, -P : 전송되는 상황을 출력한다.

 

출처 : https://ko.wikipedia.org/wiki/Rsync

 


 

'BE > Linux' 카테고리의 다른 글

2022-07-13 ssh_key  (0) 2022.07.13
2022-07-12 도메인(Domain)  (0) 2022.07.12
2022-07-10 웹서버(apache)_2  (0) 2022.07.10
2022-07-08 웹서버(apache)_1  (0) 2022.07.08
2022-06-30 리눅스_네트워크  (0) 2022.07.01