원격지에서 FTP이용 백업

2010.05.09 10:49

조인상 조회 수:8764

원문 : 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 31429
84 read/write test of Storage Filesystem ischo 2015.12.16 10336
83 RHEL/CentOS 7 에서 Network 설정하기 ischo 2015.08.31 17461
82 RHEL 6.x 에서 multipath 설정 ischo 2015.07.31 27506
81 copy 시 I/O error 발생한 파일을 dd로 복사하기 ischo 2015.07.27 9996
80 OpenSSL 다중취약점 보안업데이트 [1] ischo 2015.04.02 14677
79 HP DL/ML 시리즈용 SmartArray CLI 유틸리티 사용 설명서 ischo 2015.02.11 10746
78 XDMCP 연결시 필요한 port 번호 ischo 2014.12.24 17731
77 CentOS 6.5 환경에서 Multipath 구성하기 - 작성중 secret ischo 2014.08.05 0
76 CentOS 6.4 에서 Apache 2.4버전 RPM build 하기 file ischo 2014.07.29 15159
75 ubuntu 에서 /boot 파일시스템 full 날 경우 이미지 삭제방법 ischo 2014.05.12 14232
74 putty Connection Manager file ischo 2014.02.26 11305
73 static routing 정보 저장하여 재부팅시에도 자동 적용 ischo 2013.07.23 25774
72 file descriptor 설정하기 ischo 2013.07.10 24213
71 리눅스에서 hostid 란? ischo 2013.06.25 29469
70 다수의 파일에서 ^M 문자를 모두 없애는 쉘스크립트 ischo 2013.05.09 19437
69 Linux용 nmon 설치 및 구성 file ischo 2013.01.17 29288
68 top을 이용한 성능데이터 로깅 ischo 2013.01.13 17722
67 unzip 으로 압축해제시 하위디렉토리 만들어서 압축풀기 ischo 2012.11.14 16553
66 쉘스크립트에서 응용가능한 date 포맷 ischo 2012.10.18 15150
65 key 저장을 이용하여 ssh,sftp 자동로그인 하기 ischo 2012.10.17 18171
서버에 요청 중입니다. 잠시만 기다려 주십시오...