웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
FTP 를 이용한 원격 백업 받기
2002.12.04 09:03
^^
김병철님 말씀대로 서버 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보다는 간단하게 구현이 되는것 같다. ^^
김병철님 말씀대로 서버 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보다는 간단하게 구현이 되는것 같다. ^^
댓글 5
-
정은준
2002.12.04 09:33
-
김병철
2002.12.04 17:08
흐흐 잘 만드셨네요.. 근데 ftp 로 백섭에서 웹서버 접속한다음 파일다운받고 파일을 지운후에 접속을 종료하는데 왜 웹서버에서 3일지난 파일찾아서 자우라는 명령을 또 주셨는징.. ㅡㅡㅋ 글고 웹서버라면 6시보단 3시나 4시쯤이 백업하기 적당한 시간일꼬에여.. -
김병철
2002.12.04 17:10
아.. 그리고 주의할점이 있져.. 웹서버에서 백업하는 시간과 백섭에서 ftp 접속시간을 여유있게 잡으셔야합니다. 웹서버에서 백업하는데 걸리는 시간을 감안해야한다는거죠 여유롭게 1시간단위로 잡으시면 될것입니다. -
최종우
2002.12.04 18:26
병철님...ftp 에서 지우라는거 없는디...^^
지우고 후회한일이 하도 많아서 최소한 3일 정도는 보관하자는게 저의 취지였습니다.
그래서 ftp하고 바로 지우지 않은거구요...
웹서버라서...3시나 4시에 작업을 하는게 좋겠다는 말씀은 제가 들어야 할것 같네요 ^^
지금 작업 하러 갑니다^^ -
김병철
2002.12.04 23:34
아아 그렇군요.. 저희 백업스크립트랑 착각을 ..
그렇다면 굳이 웹서버쪽에 저장을 해두실 필요가 없다고 봐집니다.
그리고 웹서버에서 자료를 그때 그때 안지워준다면 용량도 문제가 되고 ftp 받을경우 오늘자료만 받지 않고 이전자료도 다 받게 될테니까요.. 그렇다면 바로 백업디렉토리 저장하지마시고
임시 디렉토리에 파일저장후 백업디렉토리쪽에 날짜별로 디렉토리 생성시켜서 저장하시는게 오히려 현명하겠죠..
FileName : ftp_backup.sh
#!/bin/bash
ftp -n 211.57.173.XXX < ./ftpscript
export backupdir=`date '+%y-%m-%d'`
mkdir /backup/$backupdir
mv /tmp/* /backup/$backupdir
find /backup -ctime +3 -exec rm -f {} ;
FileName : ftpscript
user yanemone *******
cd /backup
lcd /tmp
bi
prompt
mget *
mdelete *
bye
한가지 문의 드리고싶은것은요.. 제로보드내 data 디렉토리만 백업을 하고싶은데요..
tar 명령어로
tar -zcvf data.tar.gz /home/계정명/public_html/zboard/data
이렇게 하니깐요..세션디렉토리에서 에러가 나더라구요.. 저는 세션디렉토리는 백업을 원하지 않거든요... 디렉토리를 압출할때 일 부분을 제외한 디렉토리만을 압축할 수는 없을까요???