FTP를 이용한 원격백업

김병철님 말씀대로 서버 2대에서 ftp로 백업 하는 방법을 생각해 보았습니다.
의외로 아주 쉽게 구현이 될것 같습니다.

이것도 cron의 개념은 있어야 합니다. 아래 강좌를 보시면 cron에 대한것이 있으니 먼저 찾아보시길..

1. 웹서버의 에서의 백업 스크립트 작성

백업스크립트를 작성한다. 나의 경우는 /root/ftp_backup.sh로 만들었다.
(왜냐면 기존에 사용하던 backup.sh이 있으니깐 ^^, 그리고 ftp로 한다는것을 알기 위해서^^)

[root@www /root]cat ftp_backup.sh
#!/bin/bash

#MySQL DB backup
/usr/local/mysql/bin/mysqldump -uroot -p**** mysql > /backup/mysql_db_bak_$(date +%Y%m%d).sql
/usr/local/mysql/bin/mysqldump -uroot -p**** yanemone > /backup/yanemone_db_bak_$(date +%Y%m%d).sql

#html file backup
tar cvfpz /backup/html_bak.tar.gz /var/www/html
tar cvfpz /backup/yanemone_html_bak.tar.gz /home/yanemone/public_html
tar cvfpz /backup/dichang_html_bak.tar.gz /home/dichang/public_html

#delete old data
find /backup -ctime +3 -exec rm -f {} ;

2. 웹서버에서의 cron 등록
crontab -e 해서 cron을 등록한다. 내용은 다음과 같다.
매일 6시에 ftp_backup.sh을 수행하라는 의미이다
00 06 * * * /root/ftp_backup.sh

여기까지 제대로 했다면 /backup 아래에 관련 파일이 새벽 6시부터 만들어 질것이다.

3. 백업 서버의 스크립트 작성
웹서버에서 만들어 놓은 백업 자료를 백업서버에서 가져오는것을 작성해야 한다.
두개의 스크립트가 필요한데 하나는 ftp 실행파일이고 하나는 ftp 명령어 이다.

[root@king /root]# cat ftp_backup.sh
#!/bin/bash
ftp -n 211.57.173.XXX < ./ftpscript [root@king /root]# cat ftpscript
user yanemone *******
cd /backup
lcd /backup
bi
prompt
mget *.gz
mget *.sql
bye

4. 백업 서버에서의 cron 등록
crontab -e 해서 cron을 등록한다. 내용은 다음과 같다.
매일 6시 20분에 ftp_backup.sh을 수행하라는 의미이다
20 06 * * * /root/ftp_backup.sh

rsync보다는 간단하게 구현이 되는것 같다. ^^

출처 : http://blog.naver.com/nosochol/150003983045

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다