rsync -avz -e ssh root@원본소스아이피:원본소스디렉토리 타겟디렉토리
호스팅을 이용하거나, 유저디렉토리를 통채로 옮길 때 압축을 하거나, FTP 로 다운받아서 다시 옮기려면, 퍼미션이되었던, 어떤 부분에서 오류가 생긴다. 바로 서버 대 서버로 옮겨버리면 쉽게 파일들을 옮길 수 있다.
대용량에 유리하다 생각한다. 또는 서버를 통채로 다른 서버로 백업시 이용을 한다.
rsync -avzrtv —-delete root@otherServerIP:/백업디렉토리/
나의 경우 위의 명령어로, 새롭게 생성된 파일 또는 삭제된 파일들을 그대로 삭제를 하면서 현상태로 백업을 하도록 지정을 했다.
ssh-keygen 으로 키를 생성한 후 자동접속을 할 수 있도록 지정을 한다음 crontab 에 파일을 실행하게 두면 자동으로 백업을 할 수 있다.
rsync 명령어
기본
rsync
: Remote Sync의 줄임말로 여러가지 옵션을 이용해 원격 또는 로컬에 파일을 복사하는 툴입니다.rcp
그리고scp
와 같이 원격에 파일을 복사할 때 사용하는 기본 내장 명령어입니다. 원격 컴퓨터에 파일을 전달할 수 있을뿐만 아니라 로컬에 있는 파일로 복사도 가능합니다.- 옵션이 정말 다양하게 많으며 많은 옵션들을 이용해 다양한 기능들을 활용할 수 있습니다.(symlink 유지, 권한 유지 그리고 파일 날짜 유지와 같은 기능들)
기본 사용법
- manual page에 있는 자료
rsync [options ...] [source] [target]
옵션
-v
: verbosity를 높이는 옵션으로 복사하는 과정을 더 자세하게 보여줍니다.-z
: compress를 주는 옵션으로 파일을 복사할 때 압축해서 복사합니다.-h
: 사람이 읽기 쉬운 형태로 복사 결과들을 출력해줍니다.-a (same as -rlptgoD)
: archive 모드로-rlptgoD
옵션을 적용한것과 같습니다. 해당 옵션들은 아래서 설명하며 symlink, 권한 그리고 timestamp와 같은 속성들을 그대로 복사합는 옵션입니다.-r
: 디렉토리를 복사할 때 사용하는 옵션입니다.-l
: symlink는 symlink 형태로 복사하는 옵션입니다.-p
: 파일과 디렉토리들의 권한을 유지하는 옵션입니다.-t
: 수정시간을 유지하는 옵션입니다.-g
: 그룹 속성을 유지하는 옵션입니다.-o
: 소유자 속성을 유지하는 옵션입니다.-D (same as --devices --specials)
:--devices --specials)
의 옵션과 같습니다.--devices
: root 권한이 필요하며 Device 관련된 파일들을 복사해서 생성해줍니다.--specials
: named socket이나 fifo와 같은 특수한 파일들도 복사하는 옵션입니다.