« 交通違反の罰金の期限ってあるの?(BlogPet) | メイン | 電気店なのに、なぜできない?(-_-#) »

Ramdom Entry Pickup

MySQLの定期的バックアップ(cron)


[PR] 「ほったらかしアフィリエイト実践会」わずか108円であなたに代わって優秀なライターが、毎日3本の最新アフィリエイト記事を書いてくれる!

Category : [ MovableType, 自宅サーバ ]
January 21, 2006 15:59
TAG : [Blog,MovableType,MySQL]





このブログは、MovableTypeを使用していますが、
データベースは、「MySQL」を使用しています。

そこで、「cron」を使っての定期的バックアップの方法を紹介したいと思います。

さらに、ただバックアップをしていては、ディスクスペースを食いつぶしていくだけなので、
ローテーションも加味しています。

まず、サーバーで「cron」が使えるということが大前提です。



以下のようなスクリプトを作成します。

#!/bin/sh

# バックアップで残しておく日数
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

以上のファイルに実行権を与え、

/etc/cron.daily/backup-mysql.sh

というような感じで実行します。

もしくは、

# crontab -e

00 03 * * * ./backup-mysql.sh

というように「cron」で定期的に実行するように設定します。


補足ですが、上記の場合、

tar: Removing leading `/' from member names


というようなエラーが出てきますが、
実状は問題ありません。

きちんとバックアップされています。


これって、エラーを出さないようにできますっけ?(^^;)


Unixバックアップ&リカバリ
W. Curtis Preston W・カーティス・プレストン 田和 勝 長原 宏治
オライリー・ジャパン (2001/08/16)
売り上げランキング: 61,462
おすすめ度の平均: 5
5 真の技術
5 システム管理者に必須の書籍

基本からわかるデータのバックアップとリストア
谷岡 康則 インタープログ クロスフィールド
ディーアート (2002/07)
売り上げランキング: 201,214



ソーシャルブックマーク

「del.icio.us」にブックマーク|このエントリーの「del.icio.us」での登録状況|はてなブックマーク|はてなブックマーク|テクノラティ・リンク検索結果|Technorati|BlogPeople Instant Bookmark|BlogPeople Tags|ドリコムRSS|ニフティクリップ|livedoorクリップ|livedoorクリップ|ECナビに登録|add-fc2.gif|FC2ブックマークでの登録状況

このエントリーと関連性が高いと思われるエントリー


このエントリーに関連するかもしれない商品


おすすめ商品


Link Information

Link HTML:

トラックバックURL:

Trackbacks

» MovableTypeのデータベースごとバックアップする from MovableType備忘録

トラブルシューティングではないですが、いざって時に助かる、データのバックアップ方法について紹介します。 わたしは、携帯電話とかゲームなどでもいえることで... [Read More]

» cronでの定期バックアップ from Shoulder.jp

定期的にmysqlのDBをバックアップするためのシェルを作る。

#!/bin/bash/usr/local/mysql/bin/mysq...

[Read More]

» データベース自動保存 from Log-GENOS's BLOG-insist;exist

タイトルがタイトルのせいか、やたらと前回の日記にアクセスが集中してます。ホントしょーもないネタでごめんなさい。今日は一転して専門的な話。--------つ... [Read More]

コメントする