Ramdom Entry Pickup
- エアロ・ソアラ (2007年03月03日)
- マルチテスターを買った (2006年04月15日)
- デザインカプチーノっていいですね(^ー^) (2006年02月05日)
- 継承の価値観 (2005年07月06日)
- ホンダ、「シビック Type R コンセプト」を発表 (2006年03月13日)
« 交通違反の罰金の期限ってあるの?(BlogPet) | メイン | 電気店なのに、なぜできない?(-_-#) »
このブログは、MovableTypeを使用していますが、
データベースは、「MySQL」を使用しています。
そこで、「cron」を使っての定期的バックアップの方法を紹介したいと思います。
さらに、ただバックアップをしていては、ディスクスペースを食いつぶしていくだけなので、
ローテーションも加味しています。
まず、サーバーで「cron」が使えるということが大前提です。
以下のようなスクリプトを作成します。
# バックアップで残しておく日数
keepday=14
# バックアップするディレクトリ
dest=/****/backup-mysql
# MySQLのダンプ処理(とりあえず一時ファイルとして保存)
/usr/local/mysql/bin/mysqldump -u root --password='パスワード' --opt データベース名 > /*****/backup-mysql/temp
# 改めてバックアップ元ファイルとして指定
srcfile=/****/backup-mysql/temp
# タイムスタンプの取得
timestamp=`date +%Y%m%d`
old_date=`date "-d$keepday days ago" +%Y%m%d`
bkfile=$dest/$timestamp.tar.gz
tar zcvf $bkfile $srcfile
# > /dev/null 2>&1
if [ $? != 0 -o ! -e $bkfile ]; then
echo "backup faild -- ($srcfile)"
exit 1
fi
rmfile=$dest/$old_date.tar.gz
if [ -e $rmfile ]; then
rm -f $rmfile
fi
rm -f /home2/backup-mysql/temp
以上のファイルに実行権を与え、
というような感じで実行します。
もしくは、
00 03 * * * ./backup-mysql.sh
というように「cron」で定期的に実行するように設定します。
補足ですが、上記の場合、
というようなエラーが出てきますが、
実状は問題ありません。
きちんとバックアップされています。
これって、エラーを出さないようにできますっけ?(^^;)

真の技術
システム管理者に必須の書籍Link HTML:
トラックバックURL:
» MovableTypeのデータベースごとバックアップする from
MovableType備忘録
» cronでの定期バックアップ from
Shoulder.jp
» データベース自動保存 from
Log-GENOS's BLOG-insist;exist