LINUX

rsync 사용법

으악꿈 2021. 2. 23. 10:22
728x90

[ rsync 란? ]

Rsync(Remoe Sync)는 원격에 있는 파일과 디렉토리를 복사하고 동기화 하기 위해서 사용하는 툴이며 동시에 네트워크 프로토콜이다. 리눅스와 유닉스에서는 백업용도로 가장 널리 사용된다.

 

 

[ rsync 장점 ]

  • 파일을 효율적으로 복사하거나 동기화 할 수 있다.
  • 처음에는 모든 파일과 디렉토리를 복사하지만, 그 이후로는 차이가 있는 파일만 복사하기 때문에 더 빠르고 효율적이다.
  • 데이터를 압축해서 송/수신하기 때문에 더 적은 대역폭을 사용한다.

 

[ 기본 사용법 ]

 1) rsync를 설치한다.

# yum install rsync

 

 2) 기본 문법은 다음과 같다

# rsync options source destination

 

 3) 여러가지 옵션

  • -v : 상세정보 출력
  • -a : archive 모드로 그룹, 소유자, 장치, 심볼릭링크, 퍼미션 등의 파일 보존
  • -z : 데이터를 압축해서 전송. 단 destination에서는 압축이 해제되어 들어간다.
  • -r : 하위 디렉토리까지 복사

 4) 특정 디렉토리를 다른 디렉토리로 복사(동기화)

# rsync [option] LOCAL_SOURCE_DIR/ LOCAL_TARGET_DIR/

 

 5) 원격 디렉토리를 로컬 디렉토리로 복사(동기화)

# rsync [option] USER_NAME@HOST_NAME:REMOTE_DIR/ LOCAL_DIR/

 

 6) 로컬 디렉토리를 원격 디렉토리로 복사(동기화)

# rsync [option] LOCAL_DIR/ USER_NAME@HOST_NAME:REMOTE_DIR/

 

 

 

[ 예제 ]

 /application/test1 경로에 test1.txt 파일이 있고, /application/test2 경로에 test2.txt 파일이 있다.

 

 1) 로컬로 파일 복사 또는 동기화 (rsync -zvh)

 - /application/test1/test1.txt 파일이 /application/test2에 복사(동기화)되었다.

 

2) 로컬로 디렉토리 복사 또는 동기화 (rsync -zavh)

 - /home/adstrator 디렉토리가 /application/test3에 복사(동기화)되었다.

 - 소스 폴더가 /home/adstrator/면 대상에 adstrator 디렉토리를 추가하지 않고, 내용만 복사한다. - 뒤에 / 가 있느냐 없느냐의 차이

 

3) 원격 디렉토리를 로컬로 복사 또는 동기화

 - 192.168.123.193 서버의 /application/test/1234 디렉토리를 로컬의 /application/test로 복사(동기화)

 

4) 로컬 디렉토리를 원격으로 복사 또는 동기화

 - 로컬의 /application/test 디렉토리를 192.168.123.193 서버의 /application/test에 복사(동기화)

728x90