とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

ログとDBのバックアップでシェルスクリプトなんぞ書いてみた

apacheのログとDBのバックアップを1日ごとに取得する方法


月ごとにディレクトリを作り200902そのディレクトリに
毎日apacheのログとDBのバックアップを取りたいのでこんなの書きました。


・1日ごとにapacheのログをとる為httpd.confの設定

CustomLog "|/usr/sbin/rotatelogs /home/homepage/backup/200902/access_log.%d 86400 +540" combined
CustomLog "|/usr/sbin/rotatelogs /home/homepage/backup/200902/error_log.%d 86400 +540" combined

参考:http://dsas.blog.klab.org/archives/50190732.html


シェルスクリプトの作成

vim mkdir.sh

#!/bin/sh
DATE=`date '+%Y%m'`
mkdir /home/homepage/backup/$DATE

chmod 755 mkdir.sh
vim sqldump.sh

#!/bin/sh
DIRNAMEDATE=`date '+%Y%m'`
FILENAMEDATE=`date '+%d'`
mysqldump -u root hoge > /home/homepage/backup/$DIRNAMEDATE/dump$FILENAMEDATE.sql

chmod 755 sqldump.sh

参考:http://www.k4.dion.ne.jp/~mms/unix/shellscript/shell_basic.html#2
   http://www.geocities.jp/geo_sunisland/date.html


・crontabの設定

00 00 1 * * /home/homepage/backup/mkdir.sh
00 4 * * * /home/homepage/backup/sqldump.sh