2022. 7. 12. 23:31ㆍBE/Linux
이 글은 이고잉님의 오픈튜토리얼 리눅스 강의를 듣고 정리한 내용입니다.
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
예제 1 (같은 PC 아래 두 디렉터리 동기화)
src
와 dest
디렉터리는 ~/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 |