본문 바로가기

Linux

[rsync] 파일 복사 및 삭제

rsync 즉 Remote Sync.를 이용하면 원격 파일 복사 및 삭제가 가능하다.

로컬 처리도 가능하며 시간을 기준으로 중복처리가 가능하므로 작업이 중단 되도 다시 이어서 진행하면 이전에 작업한 내용을 건너 뛰고 진행 한다.

(시간으로만 처리하면 물론 문제가 생길 수 있으므로 보다 안전한 옵션을 지원한다. 글 맨하 단 참고자료를 보길 바란다.)

백업 처리에 유용하면 응용(?)하면 빠른 삭제 처리도 가능하다.

물론 복사 또한 cp, scp 등 보다 빠른 것으로 알려져있다. 대용량 복사는 rsync를 애용하자.


rsync [옵션] [소스] [목적지]


옵션은 아래의 형태를 많이 사용한다.

-avzh


a : 복사 파일의 속성값들을 유지한다. (권한, 심볼릭링크 등)

v : 복사 항목을 출력한다.

z : 압축을 하여 전송함으로서 대역폭 및 시간을 절약한다.

h : 진행 결과를 보기좋게 출력한다.


로컬 복사

$ rsync -avzh ./source ./destination

source 디렉터리를 destination 디렉터리 안에 복사한다.


리모트 복사

$ rsync -avzh noota@111.222.333.444:/home/source .

111.222.333.444 PC의 /home/source 디렉터리를 현재 디렉터리로 복사한다.


삭제

$ mkdir empty

빈 디렉터리 생성

$ rsync -a --delete ./empty/ ./destination/

destination 디렉터리를 empty 디렉터리와 동기화한다.

empty가 비어 있으므로 destination 디렉터리 안의 모든 내용은 삭제된다.


디렉터리를 비운후 디텍터리로 날리려면 아래와 같이 센스를 발휘하자...

$ rsync -a --delete ./empty/ ./destination/ ; rm -rf destination


참고자료

- http://www.joinc.co.kr/w/Site/Tip/Rsync