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

2012.04.15 10:08

엘카 조회 수:12751

참고 문서  

# 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 등이 있습니다.

번호 제목 날짜 조회 수
24 php-fpm tcp to socket secret 2020.01.25 0
23 netdata 이용한 centos 모니터링 2020.01.25 270
22 vmware with centos 7 secret 2019.08.23 0
21 my.cnf secret 2019.04.11 1
20 certbot apache multiple domain 2019.04.10 687
19 yum install latest redis file 2019.03.27 730
18 yum install php 7.1 [6] 2018.10.10 503
17 yum install mariadb [2] 2018.10.10 368
16 간단하고 강력한 xe 보안 향상 2014.11.08 1724
15 스패머 알려주는 사이트 2014.09.11 2230
14 vmware workstation performance tips [2] 2013.10.25 13340
13 Apache Module mod_ratelimit (아파치 트래픽 제한) file 2012.05.11 13127
» 자동 백업 / 삭제 (data + mysql) [1] 2012.04.15 12751
11 CentOS 6 PHP 5.3 - APC(Alternative PHP Cache) 3.1.9 2012.04.15 11201
10 CentOS 6 - PHP 5.3.10 컴파일 / 보안 [1] 2012.04.15 13879
9 CentOS 6 - Apache 2.4.1 컴파일 / 보안 설정 [1] 2012.04.15 29320
8 CentOS 6 - MySQL 5.5 설치 [1] file 2012.04.15 21292
7 php + ssh2 file 2010.06.05 20068
6 sAPM file 2010.05.12 20149
5 Lighttpd 설치 file 2010.05.11 20328