adsense_in_article_test


rsync - 리눅스에서 원격 백업하기 리눅스

특정 디렉토리에 있는 자료를 원격 호스트 또는 다른 디렉토리에 백업할 때 rsync 명령을 이용해서 편리하게 작업할 수 있다. 우선 아래의 예시를 보자. rsync 명령을 이용한 내부(local) 백업이다.

# rsync -r -v -u [디렉토리A] [디렉토리B]
rsync -r -v -u ~/my_dir ~/my_backup

위와 같이 입력하면 ~/my_dir 디렉토리를 포함해서 그 하위에 있는 파일과 디렉토리 전체를 ~/my_backup 디렉토리 하위로 복사한다. -r 옵션은 하위 디렉토리 구조를 모두 복사하기 위한 것이고, -v 옵션은 어떤 파일/디렉토리가 복사되고 있는지 자세히 표시하기 위한 것이다. -u 옵션은 이미 복사된 파일은 건너뛰기 위한 것이다.

-u 옵션에 대해 좀 더 설명하자면, 위의 예시에서 ~/my_dir 디렉토리 하위에 있는 것과 같은 이름의 파일이나 디렉토리가 ~/my_backup 디렉토리 하위에 있으면서 ~/my_backup 디렉토리에 있는 것이 더 늦게 생성된 것이라면 - 이미 백업이 완료된 항목이므로 -  건너뛰라는 뜻이다.

일반적인 복사에 사용하는 cp 명령과의 차이점은, -u 옵션을 통해서 목적지 디렉토리(위의 예시에서 ~/my_backup)에 복사를 할 때 이미 백업된 파일/디렉토리는 제외하고 새로 생긴 파일/디렉토리만 골라서 복사한다는 점이다. 즉 변경된 부분만 반영되므로 대량의 자료를 수시로 원격에 백업을 할 때 매우 효율적이다.

자, 이제 원격 호스트에 백업을 하는 경우를 생각해 보자. ~/my_dir 디렉토리를 my_server.net의 john 계정에 속한 /home/john/my_backup 디렉토리로 백업을 한다면 아래와 같이 실행한다. 접속 암호를 입력하면 백업이 시작된다.

# ssh를 통한 원격 백업
rsync -r -v -u ~/my_dir john@my_server.net:/home/john/my_backup

네트워크 대역폭을 줄이고 싶다면 압축전송을 할 수 있다. -z 옵션을 추가하자.

# 압축전송(-z 옵션)
rsync -r -v -u -z ~/my_dir john@my_server.net:/home/john/my_backup

위의 예시에서 만약 ~/my_dir 디렉토리에서 파일/디렉토리를 삭제했는데 이것을 백업할 곳에 반영하고 싶다면(즉, 백업에서 해당 자료를 삭제하고 싶다면) --delete 옵션을 추가해 준다.

# 백업자료에 삭제 반영(--delete 옵션)
rsync -r -v -u -z --delete ~/my_dir john@my_server.net:/home/john/my_backup

만약 원격 호스트의 ssh 포트를 기본값(TCP 22)이 아닌 다른 포트를 사용하고 있다면 -e 옵션으로 ssh 옵션을 지정할 수 있다. 만약 ssh 포트가 TCP 400번이라면 아래와 같이 될 것이다.

# my_server.net의 ssh 포트 지정(-e 옵션, 400번 포트)
rsync -r -v -u -z --delete -e "ssh -p 400" ~/my_dir john@my_server.net:/home/john/my_backup



핑백

덧글

  • ForceCore 2015/12/02 22:32 # 삭제 답글

    rdiff-backup 을 써보세요, rsync의 상위호환이에요.
    rsync로 수동백업은 어느정도 되겠지만, 매일 하는 자동백업에서 --delete를 붙이자니 사라지는 파일이 있고, 안 붙이자니 백업 크기가 늘기만하고 고민이 되지요... 그러나 rdiff-backup은 dropbox처럼 변화내역도 기록해둬요. 물론 n일 이전의 기록은 삭제를 하도록 설정하는 것도 가능합니다. -> 유저가 실수로 삭제한 파일도 n일 이전이기만 하면 부활시킬 수 있지요.
  • 반달가면 2015/12/03 23:57 #

    아 네. rsync 보다 좀 더 기능이 많은 것 같네요. 조언 감사합니다.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

33769
4519
2078024

2019 대표이글루_IT

Google Analytics