원격지에서 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 30767
104 리눅스에서 HBA카드의 WWN확인 방법 조인상 2010.05.12 54474
103 ssh 자동로그아웃 설정방법 조인상 2010.05.12 41531
102 LVM 사용하여 추가한 디스크로 볼륨 늘리기 ischo 2010.05.19 35806
101 리눅스 커널이 64bit 인지 확인방법 ischo 2012.02.24 34988
100 리눅스 가상 IP 설정 조인상 2010.05.12 30761
99 랜카드 동작속도 확인/수정 방법 조인상 2010.05.12 29490
98 리눅스에서 hostid 란? ischo 2013.06.25 29164
97 Linux용 nmon 설치 및 구성 file ischo 2013.01.17 29156
96 TCP TIME_WAIT이 많이 발생하여 문제가 되는 경우 ischo 2011.08.18 28344
95 RHEL 6.x 에서 multipath 설정 ischo 2015.07.31 27202
94 리눅스 mdadm 을 이용한 S/W RAID 구성 [1] ischo 2011.07.20 25449
93 static routing 정보 저장하여 재부팅시에도 자동 적용 ischo 2013.07.23 25380
92 삼바 세팅 및 사용법 [1] 조인상 2010.05.12 25132
91 백스페이스 눌러서 지우려고 할때 ^H 표시될때 조치법 조인상 2010.05.12 24525
90 아파치 SSL 적용된 경우 startup 시에 SSL 패스워드 자동입력시키기 ischo 2011.06.02 24256
89 file descriptor 설정하기 ischo 2013.07.10 24074
88 리눅스 Services 설명 ischo 2011.07.08 23645
87 ssh 접속시 로그인 속도가 느릴경우 속도 향상법 ischo 2011.08.30 23007
86 리눅스에서 디스크 덤프하기 ischo 2011.12.22 21896
85 리눅스에 Qlogic2300 HBA카드로 어레이 붙이기 file 조인상 2010.05.12 20213
서버에 요청 중입니다. 잠시만 기다려 주십시오...