플밍

rsync 미러링 백업하기 본문

프로그래밍/Linux

rsync 미러링 백업하기

너구리안주 2015. 1. 7. 21:43


rsync로 백업서버를 만들어 봅시다

#ads_1

본서버에 rsync 서버를 두고 백업서버에 rsync 클라이언트로 연결 할 수도 있지만 절차가 복잡합니다.

간단하게 백업서버에서 ssh로 rsync 클라이언트만 이용해 백업하는 방법을 알아봅시다.


먼저 ssh 로 서버에 연결하면 비밀번호를 물어보게 됩니다.

수작업으로 접속한다면 문제될게 없지만 crond 등으로 자동백업을 구현하려면 문제가 됩니다.

keygen을 이용하여 백업서버에 공개키(비대칭키)를 만들어 본서버에 공개키를 등록해두면 다음부터는 비밀번호를 묻지 않습니다.

우선 키를 만들어 봅시다

# ssh-keygen -t rsa

이렇게 하면 뭘 입력하라고 물어보는데 그냥 모두 엔터치고 넘어갑니다.

# ls

id_rsa    id_rsa.pub

이렇게 두개의 파일이 보입니다.

id_rsa 가 개인키(비밀키) 이고 id_rsa.pub 가 공개키입니다.

이 공개키를 서버의 authorized_keys 에 추가해줘야 합니다.

# cat ~/.ssh/id_rsa.pub | ssh root@서버아이피 'cat >> ~/.ssh/authorized_keys'

비밀번호를 입력하라고 나오면 타이핑 해줍니다.

이제 서버에 공개키가 등록이 되었습니다.

접속을 해봅시다.

# ssh root@서버아이피

만약 그래도 비밀번호를 물어본다면 SELinux 때문입니다.

서버에서 아래와 같이 퍼미션을 변경합니다.

$ chmod go-rwx ~/.ssh/authorized_keys

$ /sbin/restorecon -v ~/.ssh/authorized_keys

다시 접속을 해보시면 비밀번호를 묻지 않고 접속이 될것입니다.

#ads_2


이제 백업서버에 rsync 를 설치해보죠

# yum -y install rsync

설치가 다 되었으면 바로 백업을 해봅시다

# rsync -avz --delete -e ssh root@서버아이피:/home/test /bakup

/home/test 는 서버에서 백업하고자 하는 디렉터리이고

/bakup 은 백업서버의 디렉터리입니다.


간단하죠?

이제 이걸 crond 가 자동으로 수행하게 합시다

먼저 shell 파일을 만들고요

# vi /home/exec_bakup.sh

에디터가 열리면 아래를 작성하시고요

#!/bin/bash

rsync -avz --delete -e ssh root@서버아이피:/home/test /bakup


.... 더 해야 할것들이 있으면 계속 추가

wq를 치고 저장하고 빠져나옵시다

# crontab -e

아래처럼 작성합니다

0 4 */3 * * sh /home/bakup.sh

3일마다 새벽 4시에 bakup.sh 를 실행하라는 명령입니다.  원하는대로 수정합시다.

저장하고 빠져나옵니다.


끝났습니다.  이제 백업은 얘가 알아서 합니다.

쉽죠?

#ads_3

Comments