원격지에서 FTP이용 백업

2010.05.09 10:49

조인상 조회 수:8691

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


서버2에서 서버1의 데이터를 FTP로 가져와 백업하기

작업내용 : 서버2에서 매일(/etc/cron.daily/autoftp) 서버1로 ftp접속을 하여(/home/sspark/.autoftp.sh, /home/sspark/.ftpscript) 백업할 데이터들을 가져온후에 서버2에 날짜형식을 가진 디렉토리를 생성하여 저장하고, 서버1의 원본데이터는 삭제한다.

서버1에서는 매일매일 백업일 하기위해 /etc/cron.daily/NICE-daily-backup에서 /sbin/NICEBACKUP파일을 실행시켜 이 파일에 있는 내용대로 매일매일 백업이 되고 있다.





서버1에서 매일 백업되는 내용

다음과 같이 서버1의 /sbin/NICEBACKUP에는 백업해야할 내용에관한 명령어들이 들어있다.

[root@kebia_1 /root]# cat /sbin/NICEBACKUP
#!/bin/bash
#APACHE Server BACKUP
tar cvfpz /home/sspark/BACKUP/usr_local_apache.tar.gz /usr/local/apache
#Mysql DB Full BACKUP
tar cvfpz /home/sspark/BACKUP/usr_local_mysql.tar.gz /usr/local/mysql
#Filesystem BACKUP
tar cvfpz /home/sspark/BACKUP/etc.tar.gz /etc
tar cvfpz /home/sspark/BACKUP/var.tar.gz /var
tar cvfpz /home/sspark/BACKUP/home.tar.gz /home
#Mysql file BACKUP
/usr/local/mysql/bin/mysqldump -uroot -p11111 mysql > /home/sspark/BACKUP/mysql.sql
/usr/local/mysql/bin/mysqldump -uroot -p11111 kebia > /home/sspark/BACKUP/kebia.sql
chown -R sspark:sspark /home/sspark/BACKUP



아래와 같이 서버1에는 위의 백업을 매일 하기위해 /etc/cron.dailly에 NICE-daily-backup이란 파일이 존재한다.

[root@kebia_1 /root]# cat /etc/cron.daily/NICE-daily-backup
echo "NICE KOREA BACKUP"
echo `date`
/sbin/NICEBACKUP
echo "BACKUP is completed"
[root@kebia_1 /root]#



서버1에는 매일 아래 디렉토리에 다음과 같이 백업이 되고 있다.

[root@kebia_1 BACKUP]# pwd
/home/sspark/BACKUP
[root@kebia_1 BACKUP]# ll
-rw-r--r--    1 sspark  sspark    1514583 Apr  1 04:04 115.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark      9263 Apr  1 04:05 chapter.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark  12996153 Apr  1 04:05 e-gain.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark    556780 Apr  1 04:04 etc.tar.gz
-rw-r--r--    1 sspark  sspark    2007684 Apr  1 04:04 imt-2000.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark  11236021 Apr  1 04:04 nicekorea.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark      32128 Apr  1 04:04 owner.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark    2150591 Apr  1 04:04 picasso.co.kr.tar.gz
-rw-r--r--    1 sspark  sspark    3624831 Apr  1 04:04 sajik.com.tar.gz
-rw-r--r--    1 sspark  sspark  94379928 Apr  1 04:04 usr_local.tar.gz
-rw-r--r--    1 sspark  sspark    4471105 Apr  1 04:04 var.tar.gz
[root@kebia_1 BACKUP]#





서버2에는 서버1의 데이터를 매일 가져오기위해 /etc/cron.daily에서 매일실행하는 스크립트 autoftp가 아래와 같이 있다.

[root@kebia_2 /root]#
[root@kebia_2 /root]# cat /etc/cron.daily/autoftp
#!/bin/bash
/home/sspark/.autoftp.sh
[root@kebia_2 /root]#



서버2에 만들어져야할 파일2개

  autoftp.sh : ftp실행파일

  ftpscript : ftp명령어들



[root@kebia_2 sspark]# cat autoftp.sh
#!/bin/bash
ftp -n 211.220.193.181 < ./ftpscript
export backupdir=`date '+%y-%m-%d.%H-%M'`
mkdir /home/sspark/BACKUP/$backupdir
mv /home/sspark/tmp/* /home/sspark/BACKUP/$backupdir
[root@kebia_2 sspark]#



[root@kebia_2 sspark]# cat ftpscript
user sspark 11111
cd /home/sspark/BACKUP
lcd /home/sspark/tmp
bin
prompt
mget *.tar.gz
mdelete *.tar.gz
bye
[root@kebia_2 sspark]#



서버1에는 cron.daily에 /sbin/NICEBACKUP등으로 매일 또는 매주 또는 매월백업을 자동으로 되고 있어야한다.
서버1의 /home/sspark/BACKUP/200104010303 형식으로 디렉토리를 생성하게되어 저장된다.
그런후에는 서버1의 데이터를 삭제한다.



작업완료후에 서버2에는 서버1의 내용이 백업되어 있다.



[root@kebia_2 01-04-01.05-45]# pwd
/home/sspark/BACKUP/01-04-01.05-45
[root@kebia_2 01-04-01.05-45]# ll
-rw-r--r--    1 root    root      1514583 Apr  1 05:36 115.co.kr.tar.gz
-rw-r--r--    1 root    root        9263 Apr  1 05:36 chapter.co.kr.tar.gz
-rw-r--r--    1 root    root    12996153 Apr  1 05:37 e-gain.co.kr.tar.gz
-rw-r--r--    1 root    root      556780 Apr  1 05:37 etc.tar.gz
-rw-r--r--    1 root    root      2007684 Apr  1 05:37 imt-2000.co.kr.tar.gz
-rw-r--r--    1 root    root    11236021 Apr  1 05:38 nicekorea.co.kr.tar.gz
-rw-r--r--    1 root    root        32128 Apr  1 05:38 owner.co.kr.tar.gz
-rw-r--r--    1 root    root      2150591 Apr  1 05:38 picasso.co.kr.tar.gz
-rw-r--r--    1 root    root      3624831 Apr  1 05:38 sajik.com.tar.gz
-rw-r--r--    1 root    root    94379928 Apr  1 05:45 usr_local.tar.gz
-rw-r--r--    1 root    root      4471105 Apr  1 05:45 var.tar.gz
[root@kebia_2 01-04-01.05-45]#



서버2에서 ftp접속 및 작업이 끝난후 서버1의 내용(즉, 원본파일은 지워지게 된다.)

[root@kebia_1 BACKUP]# pwd
/home/sspark/BACKUP
[root@kebia_1 BACKUP]# ll
[root@kebia_1 BACKUP]#
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 30766
24 centOS 에서 dovecot POP3 사용하기 조인상 2010.05.12 15239
23 sendmail 기반의 Squirrelmail (다람쥐메일)설치기법 조인상 2010.05.12 13170
22 centOS 4.2 설치시 한글깨짐 문제 조인상 2010.05.12 18468
21 백스페이스 눌러서 지우려고 할때 ^H 표시될때 조치법 조인상 2010.05.12 24525
20 삼바 세팅 및 사용법 [1] 조인상 2010.05.12 25132
19 LVM(Linux Volume Manager) 구축하기 조인상 2010.05.12 15329
18 리눅스에서 플로피 사용하기 조인상 2010.05.12 8949
17 리눅스에서 HBA카드의 WWN확인 방법 조인상 2010.05.12 54471
16 HBA카드의 WWNN과 WWPN에 대한 포럼 내용 조인상 2010.05.12 17511
15 리눅스에 Qlogic2300 HBA카드로 어레이 붙이기 file 조인상 2010.05.12 20211
14 리눅스 가상 IP 설정 조인상 2010.05.12 30761
13 2G이상 파일 tar 로 생성 / 분할생성(복사) 조인상 2010.05.12 12996
12 NFS 관련 명령어 및 파일들 조인상 2010.05.12 14447
11 내가 즐겨사용하는 프롬프트 변수(PS1) 설정치 조인상 2010.05.12 10352
10 터미널에서 한글을!! Unicon 소개/설치 조인상 2010.05.12 12369
9 mysql 4 버전 설치하기 조인상 2010.05.12 11669
8 APM 설치하기 조인상 2010.05.12 8062
7 새로운 디스크를 ext3로 파일시스템 생성하기 조인상 2010.05.12 8757
6 NAT환경에서 넷미팅 사용하기 조인상 2010.05.12 9540
5 리눅스 환경에서 Xmanager 사용법 조인상 2010.05.12 19182
서버에 요청 중입니다. 잠시만 기다려 주십시오...