Ramdom Entry Pickup
- パニックを起こさないことが大事 (2005年08月24日)
- 第3章:「宇宙へのいざない」 (2005年05月04日)
- エレベーターの停止階のキャンセル方法! (2006年11月17日)
- cronでMovableTypeを定期的に再構築(BlogPet) (2006年05月13日)
- 高田サーキット新コース初走行 (2005年06月23日)
« 交通違反の罰金の期限ってあるの?(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