원격지에서 FTP이용 백업

2010.05.09 10:49

조인상 조회 수:8708

원문 : 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 31070
84 백스페이스 눌러서 지우려고 할때 ^H 표시될때 조치법 조인상 2010.05.12 24558
83 centOS 4.2 설치시 한글깨짐 문제 조인상 2010.05.12 18497
82 sendmail 기반의 Squirrelmail (다람쥐메일)설치기법 조인상 2010.05.12 13196
81 centOS 에서 dovecot POP3 사용하기 조인상 2010.05.12 15262
80 sendmail 25번포트 접속이 localhost에서만 허용될때 조인상 2010.05.12 16974
79 랜카드 동작속도 확인/수정 방법 조인상 2010.05.12 29515
78 tar 를 이용한 테잎 백업스크립트 예 조인상 2010.05.12 11015
77 [펌] 리눅스에서의 시리얼통신 조인상 2010.05.12 20050
76 xinetd 모드로 proftpd 변경 조인상 2010.05.12 12393
75 ssh 자동로그아웃 설정방법 조인상 2010.05.12 41578
74 파일로 스왑추가 방법 조인상 2010.05.12 11120
73 vsftpd 포트변경 방법 조인상 2010.05.12 14912
72 LVM 사용하여 추가한 디스크로 볼륨 늘리기 ischo 2010.05.19 35839
71 리눅스환경에서 RedOwl 정지시키기 조인상 2010.05.27 14552
70 case로 만드는 오라클 서비스 관리 ksh 스크립트 예제 ischo 2010.06.18 13503
69 CentOS에 zabbix 1.8.2 install secret 조인상 2010.07.27 2
68 HOW TO SELinux file ischo 2010.11.17 9364
67 Linux Performance and Tuning Guidelines - IBM file ischo 2010.11.17 9818
66 시스템 관리자를 위한 50가지 비법 조인상 2011.01.04 12234
65 불특정 파일리스트 FTP 전송 스크립트 file ischo 2011.02.18 14205
서버에 요청 중입니다. 잠시만 기다려 주십시오...