- 자동백업은 crontab에 일정을 등록해놓고 일정 주기에 맞춰서 데이터를 백업하는 기능입니다
여기서는 보안에 필요한 기본적인 쉘스크립트에 대해서 설명하며 /etc/ 와 /var/www 그리고 /home/ 을 7일단위로 백업하는 스크립트를 바로 사용할 수 있도록 포함합니다
1) 백업 폴더 지정
## 백업할 디렉토리 WEB_DIR=/var/www HOME_DIR=/home ETC_DIR=/etc
2) 백업 파일이 저장될 폴더 지정
# 백업파일 저장 경로 DB_BACKUP_DIR=DB파일이 백업될 경로 WEB_BACKUP_DIR= /var/www 파일이 백업될 경로 HOME_BACKUP_DIR= /home 파일이 백업될 경로 ETC_BACKUP_DIR= /etc/ 파일이 백업될 경로
3) 백업
##### 파일 백업 ##### echo "[info] /var/www Backup Start." tar czfp $WEB_BACKUP_DIR/web_$DATE.tar.gz $WEB_DIR echo "[info] /var/www Backup End."
4) 이전에 백업했던 데이터 삭제
##### 오래된 백업 삭제 ##### echo "[info] Old Backup File Delete..." WEEKAGO=`date -d "7 days ago" +%Y%m%d` rm $DB_BACKUP_DIR/*$WEEKAGO.sql rm $WEB_BACKUP_DIR/*$WEEKAGO.tar.gz rm $HOME_BACKUP_DIR/*$WEEKAGO.tar.gz rm $ETC_BACKUP_DIR/*$WEEKAGO.tar.gz
5) MySQL 전체 DB백업
##### MySQL 전체 데이타베이스 백업 ##### echo "[info] DB Backup Start." mysqldump -u아이디 -p비밀번호 -A > $DB_BACKUP_DIR/all_$DATE.sql echo "[info] DB Backup End."
6) 완료(최종)
#!/bin/bash DATE=`date +%Y%m%d` # 백업파일 저장 경로 DB_BACKUP_DIR=DB파일이 백업될 경로 WEB_BACKUP_DIR= /var/www 파일이 백업될 경로 HOME_BACKUP_DIR= /home 파일이 백업될 경로 ETC_BACKUP_DIR= /etc/ 파일이 백업될 경로 ## 백업할 디렉토리 WEB_DIR=/var/www HOME_DIR=/home ETC_DIR=/etc ##### 파일 백업 ##### echo "[info] /var/www Backup Start." tar czfp $WEB_BACKUP_DIR/web_$DATE.tar.gz $WEB_DIR echo "[info] /var/www Backup End." echo "[info] /home Backup Start." tar czfp $HOME_BACKUP_DIR/home_file_$DATE.tar.gz echo "[info] /home Backup End." echo "[info] /etc/ Backup Start." tar czfp $ETC_BACKUP_DIR/etc_$DATE.tar.gz $ETC_DIR echo "[info] /etc/ Backup End." ##### MySQL 전체 데이타베이스 백업 ##### echo "[info] DB Backup Start." mysqldump -u아이디 -p비밀번호 -A > $DB_BACKUP_DIR/all_$DATE.sql echo "[info] DB Backup End." ##### 오래된 백업 삭제 ##### echo "[info] Old Backup File Delete..." WEEKAGO=`date -d "7 days ago" +%Y%m%d` rm $DB_BACKUP_DIR/*$WEEKAGO.sql rm $WEB_BACKUP_DIR/*$WEEKAGO.tar.gz rm $HOME_BACKUP_DIR/*$WEEKAGO.tar.gz rm $ETC_BACKUP_DIR/*$WEEKAGO.tar.gz echo "[info] --- complete ---" echo "[info] --- System Shutdown ---"
따로 설명은 하지 않겠습니다. 실제로 사용중인 스크립트기 때문에 분석해서 자기것으로 만들어보세요^^
'개발 > 자작나스구축(Linux)' 카테고리의 다른 글
[우분투 12.04 LTS] 개인웹하드 구축 #24- 자동실행 데몬 관리 (0) | 2014.10.19 |
---|---|
[우분투 12.04 LTS] 개인웹하드 구축 #23- 모니터링 구축( Munin ) (0) | 2014.10.19 |
[우분투 12.04 LTS] 개인웹하드 구축 #21- 웹서버 운영중일때 DDOS 방어 (0) | 2014.10.18 |
[우분투 12.04 LTS] 개인웹하드 구축 #20- 보안설정( Firewall,UFW(Uncomplicated FireWall),Denyhosts,Fail2ban) (0) | 2014.10.18 |
[우분투 12.04 LTS] 개인웹하드 구축 #19- 계정별 홈디렉토리 변경을 통한 관리 (0) | 2014.10.17 |