IT 기술/Operating System

웹 서버 로그 및 DB 백업용 스크립트

ㅇㅔ ㄷㅡ 2007. 4. 27. 21:08
흔히들 말하는 LAMP(Linux, Apache, MySQL, PHP) 환경의 웹서버 한대가 회사 전산실에 있습니다. 관계사의 홈페이지들이 있는데, 리눅스 마스터 자격증이 있다는 점과 PHP 개발 경력이 있다는 이유로 제가 관리를 맡았다가 다른 사람에게 넘겼는데 문제만 생기면 제가 손을 봐야하는 서버입니다.

오늘도 사이트 관련해서 볼일이 있어서 SSH로 로그인했었는데, 갑자기 백업용 Shell script를 어떻게 만들었는지 기억이 안 나더군요. 음... 한동안 안 썼더니 Shell script 작성법을 까먹어버렸었다는...
그래서 백업용으로 만들었던 Shell script를 블로그에 남깁니다. 음... 이러면 안 까먹겠죠. ^^


[root@host명 ~/util]
08:29 오후 # cat mysql_dump.sh
#!/bin/bash
# mysql_dump.sh
LOG="/home/db_backup_log/mysql_dump"

today=`date +%Y%m%d`
datetime=`date +'%Y%m%d_%H:%M:%S'`

echo "===================="
echo $datetime >> $LOG

# backup 1. DB이름
mysqldump -u root -p비밀번호 DB이름 > 파일명-$today.sql
#echo DB이름 backup completed!!

# make tarball
tar cvfz /var/www/html/db_backup/db-$today.tar.gz *-$today.sql >> $LOG

# delete the sql file
rm -f *-$today.sql >> $LOG
echo finish!! >> $LOG

datetime=`date +'%Y%m%d_%H:%M:%S'`
echo $datetime >> $LOG
echo "===================="


[root@host명 ~/util]
08:29 오후 # cat apache_log_backup.sh
#!/bin/bash
# apache_log_backup.sh
LOG="/home/apache_log_backup/backup_log"

today=`date +%Y%m%d`
datetime=`date +'%Y%m%d_%H:%M:%S'`

echo "=====================" >> $LOG
echo $datetime >> $LOG

# stop httpd
service httpd stop >> $LOG

# make tarball
tar cvfz /home/apache_log_backup/httpd_access_log-$today.tar.gz /var/www/html/log/access* >> $LOG

tar cvfz /home/apache_log_backup/httpd_error_log-$today.tar.gz /var/www/html/log/error* >> $LOG

# delete log file
rm -f /var/www/html/log/* >> $LOG
echo finish!! >> $LOG
service httpd start >> $LOG

datetime=`date +'%Y%m%d_%H:%M:%S'`
echo $datetime >> $LOG

service httpd start >> $LOG
echo "=====================" >> $LOG


너무 허접한가???