콘텐츠로 건너뛰기

rsync 를 ssh를 이용하여 원격으로 데이타 이동시키는 방법

  • by
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와 같은 특수한 파일들도 복사하는 옵션입니다.

답글 남기기