리눅스에서 원격지에 파일을 복사하는방식중 하나인 rsync에 대해 간단하게 정리해보고자 합니다.
rsync는 Remote Sync의 줄임말로 여러가지 옵션을 지원해 로컬, 원격지에 파일 복사를 도와주는 명령어 입니다. 기본적으로 free 소프트웨어 입니다.(GNU Pulick Licence)
기본적으로 설치가 되어있을수도 있지만 아래와같이 명령어가 없다고 나올경우 yum install rsync, apt install rsync와 같은 간단한 설치명령어로 설치가 가능합니다.
보통 rsync는 원격지에 백업을 하거나 동기화를 할때 많이 사용합니다.
공식 웹사이트는 http://rsync.samba.org/ 이니 관심이 많으면 들어가볼만(?) 합니다.
사용법
Usage: rsync [OPTION]… SRC [SRC]… DEST
or rsync [OPTION]… SRC [SRC]… [USER@]HOST:DEST
or rsync [OPTION]… SRC [SRC]… [USER@]HOST::DEST
or rsync [OPTION]… SRC [SRC]… rsync://[USER@]HOST[:PORT]/DEST
or rsync [OPTION]… [USER@]HOST:SRC [DEST]
or rsync [OPTION]… [USER@]HOST::SRC [DEST]
or rsync [OPTION]… rsync://[USER@]HOST[:PORT]/SRC [DEST]
The ‘:’ usages connect via remote shell, while ‘::’ & ‘rsync://’ usages connect
to an rsync daemon, and require SRC or DEST to start with a module name.
자주사용하는 옵션
- -v : 파일복사하는 과정을 자세하게 출력해줍니다.
- -z : 파일복사시 압축해서 복사합니다
- -a : 아카이브 모드로 symlink,권한,timestamp,그룹,소유자등을 그대로 복사합니다.(백업시 사용)
- -h : 출력형식을 보기좋게 출력
나머지 옵션들은 rsync –help 으로 확인 가능합니다.
사용 예제(Local)
rsync [옵션] [대상파일/폴더] [이동할곳]
rsync -avzh test.txt /test
만약에 폴더내 데이터만 이동하고싶으면
rsync -avzh [디렉터리]/ [이동할곳]
rsync -avzh dir/ dirtest2
사용 예제(원격지)
rsync [옵션] [파일/디렉터리] [Username]@[IP]:[경로]
이렇게 입력하면 해당 원격 IP의 유저의 pw를 입력해주면 파일 복사가 된다.
이전에 증분백업 관련된 내용도 작성한적이있어서
증분백업은 아래 글 참조