본문 바로가기

백업을 하려니 ftp, sftp 로 연결해서 해도 되는데, 막 찾아보니 rsync 가 편리해 보여 일단 시도해봄!

 

SSH 연결 설정

먼저 SSH 가 연결되는 환경을 맞춰둬야 한다.

접속하려는 서버의 홈디렉토리 밑에 .ssh 폴더 아래에 보면,

authorized_keys 라는 파일을 열어서 현재 접속을 시도하는 PC의 공개키를 복사해 둬야 한다. 머 인증된 사용자라는 뜻이 될듯.

그냥 vi로 열어서 맨 마지막에 공개키 내용을 긁어서 복사해 주면 된다.

엇. 공개키가 어데 있나?

이미 만들었다면 자신의 홈 밑에 .ssh 디렉토리 아래에 xxxx.pub 이라고 설정되어 있을 확률이 높다. 

내 우분투 시스템에 내용을 살펴보니 아래 그림과 같이 있었다. (언제 만들었는지 ㅋㅋㅋ)

ssh 공개키 기본 저장위치

없다면, 아래 명령을 입력해서 하나 만들면 된다.

$ ssh-keygen -t rsa

출처: https://readytoact.tistory.com/92 [HarimHouse2]

rsync 명령어

원격 서버 주소에 있는 특정 폴더를 로컬 우분투에 가져오는 거

아주 쉽게 한줄로 딱!!

rsync -avz 서버계정명@원격서버주소:~/원하는폴더 ~/

 

~/원하는폴더 대신 폴더 위치를 주면 된다. ~/ 는 home/서버계정명/ 폴더를 나타낸다. 기본으로는 

지정한 폴더를 로컬 우분투 시스템의 home 디렉토리 아래로 가져와라는 명령 되겠다.

아래와 같이 복사되는 과정이 쭉 나오고, 다 받으면 사이즈 출력하고 완료~

 

receiving incremental file list
mongo_backup/
mongo_backup/dbbackup.sh
mongo_backup/dbrestore.sh.dontusehere
mongo_backup/DB/
mongo_backup/DB/customer.bson

...

sent 496 bytes  received 101,086,309 bytes  3,209,104.92 bytes/sec
total size is 3,502,068,521  speedup is 34.64

 

사실, 이 작업 전에 ssh로 접속이 가능한 상태로 만들어 두고 시작했다. 이건 꼭 해야 할 듯~

 

원격명령 수행

혹시 rsync 이전에 백업 스크립트를 먼저 수행하고, 그 결과를 가져오고 싶으면

간단하게 ssh 명령으로 원격 명령을 수행하면 된다.

당연하게도 서버에 스크립트 정도는 짜놓고 있어야 간단하게 호출할 수 있겠지? :)

 

ssh 서버계정명@원격서버주소 "~/mongo_backup/dbbackup.sh"

 

여기 예제에서는 ~/mongodb_backup 폴더 밑에 있는 dbbackup.sh 를 실행시키는 것이다.

이로서, 최신 데이터를 백업하고 다시 rsync를 호출해서 가져오면 최신 DB 데이터 백업은 수행이 가능할 듯

 

cron을 이용하여 자동 실행을 걸어두면 더 좋을 듯 한데, 이건 나중에 하자.

 

참고 사이트

참고 페이지는 아래와 같다.

 

 

[Linux] ssh, rsync를 이용한 상호 원격 백업 설정

[ssh및 rsync을 이용한 상호 원격 백업설정] 현재 두곳의 서버로 부터 호스팅을 이용하고 있다. 두 곳에서 블로그를 운영하고 있는데, 최근 백업에 대한 고민을 하게 됐다. 물론 서비스를 제공해 주

readytoact.tistory.com

 

BJ.

그냥 리모콘으로 조정하면 쉬울듯 ㅋ TV처럼

Oleg Magni 님의 사진, 출처: Pexels

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.