server 자동 백업 / 삭제 (data + mysql)

2012.04.15 10:08

엘카 조회 수:13586

참고 문서  

# vi /bin/backup.sh

#!/bin/bash
### 변수 설정 ###
home=/home/ # 홈 경로
backup_path=/root/backup/ # 저장할 경로
delete_date="+6" # 6일이 지난 백업본 삭제
www=public_html # 웹 디렉토리 이름
vm_shared=/mnt/hgfs/vm_shared/ # VMware 공유폴더

### 예전 자료 삭제 ###
find $backup_path*.tar.gz -mtime $delete_date -print -exec rm -rf {} \;

### 서비스 종료 ###
wall "Run Backup"
/usr/local/apache/bin/apachectl stop # 아파치 종료
service mysqld stop # mysql 종료

### 압축 ###
mkdir $backup_path # 혹시 backup 폴더 삭제한 경우;;
for folder in $home*/$www
do
 filename=`date +%Y%m%d-%H%M`_${folder#$home} # 20120325_elkha/public_html
 tar cvfz $backup_path${filename%/$www}.tar.gz $folder # tar cvfz /manage/backup/20120325_elkha.tar.gz /home/elkha/public_html
done
zip -r $backup_path`date +%Y%m%d-%H%M`-mysql.zip /var/lib/mysql # 파일명: /home/"20120325-mysql.zip"
### yum install zip # zip 쓰는 이유는 무식하게 통채로 압축했는데 db별로 제공하려면 분할삭제가 필요

### 서비스 시작 ###
/usr/local/apache/bin/apachectl start # 아파치 시작
service mysqld start # mysql 시작
wall "End Backup"

### 백업 파일 이동 ###
if [ -d $vm_shared ];then
 # 오늘 날짜의 파일들을 모두 이동
 mv $backup_path`date +%Y%m%d`* $vm_shared
 # db파일은 용량이 작으니 웹 파일만 삭제한다.
 find $vm_shared*.tar.gz -mtime $delete_date -print -exec rm -rf {} \;
fi
# chmod 755 backup.sh
# chmod -x backup.sh
# vi /etc/crontab
	0 5 * * 1,4 root /bin/backup.sh
	# 월요일(1), 목요일(4) 새벽5시에 실행한다

외부백업은 ftp를 이용하는게 보통입니다만.. vmware 에다 OS를 설치한거라 복사/삭제 하는 것으로 백업을 종료합니다.

파일이 삭제되더라도 클라우드 프로그램을 이용, 웹에 파일이 보관됩니다.

많이 알려진 클라우드 프로그램으로는 ucloud - 50G(kt사용자), NDrive - 30G, Daum Cloud - 50G 등이 있습니다.

번호 제목 날짜 조회 수
31 CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 30240
30 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21707
29 Lighttpd 설치 file 2010.05.11 20678
28 sAPM file 2010.05.12 20261
27 php + ssh2 file 2010.06.05 20199
26 Zend Optimizer + eAccelerator + Suhosin file 2010.05.11 18248
25 MySQL 설치 file 2010.05.11 17279
24 Apache 설치 file 2010.05.11 16657
23 PHP 설치 file 2010.05.11 15057
22 CentOS 6 - PHP 5.3.10 컴파일 / 보안 [1] 2012.04.15 14286
21 vmware workstation performance tips [2] 2013.10.25 13943
20 Apache Module mod_ratelimit (아파치 트래픽 제한) file 2012.05.11 13681
» 자동 백업 / 삭제 (data + mysql) [1] 2012.04.15 13586
18 CentOS 6 PHP 5.3 - APC(Alternative PHP Cache) 3.1.9 2012.04.15 11369
17 스패머 알려주는 사이트 2014.09.11 2447
16 netdata 이용한 centos 모니터링 2020.01.25 2337
15 간단하고 강력한 xe 보안 향상 2014.11.08 1865
14 yum install latest redis file 2019.03.27 1682
13 certbot apache multiple domain 2019.04.10 1416
12 yum install mariadb [2] 2018.10.10 1143