ITblog

[centos6]cronでデータベースバックアップ設定

2014年11月13日

重要なデータベースはバックアップをして日時ごとに取っておくといざというときのために少しは安心です。

ここでは、私が行ったcronをつかったバックアップ設定について書いておきます。

rootでサーバにログインして、コマンドラインで以下を実行

crontab -e

出てきた画面に、実行するコマンドを記述して保存します。

4 5 * * 0 mysqldump DB名 > /home/backup/db_00.sql -u ユーザ名 -ppassword
4 5 * * 1 mysqldump DB名 > /home/backup/db_01.sql -u ユーザ名 -ppassword
4 5 * * 2 mysqldump DB名 > /home/backup/db_02.sql -u ユーザ名 -ppassword
4 5 * * 3 mysqldump DB名 > /home/backup/db_03.sql -u ユーザ名 -ppassword
4 5 * * 4 mysqldump DB名 > /home/backup/db_04.sql -u ユーザ名 -ppassword
4 5 * * 5 mysqldump DB名 > /home/backup/db_05.sql -u ユーザ名 -ppassword
4 5 * * 6 mysqldump DB名 > /home/backup/db_06.sql -u ユーザ名 -ppassword

この例では、 /home/backup/ 以下に、1週間のローテーションでデータベースのバックアップを作成しています。
最初の数字はcronの実行間隔を指定しているので、動作確認として、数字以下の命令をコマンドライン上から実行してバックアップが作成されているかを確認しておくといいでしょう。

また、cronが起動しているかどうかは、以下のコマンドで確認できます。

/etc/rc.d/init.d/crond status

crond (pid 1415) を実行中…
のように出るとcronが起動しています。

起動していない場合は、以下のコマンドで起動します。

/etc/rc.d/init.d/crond start

また、cronの自動起動についても、設定されていない場合は以下で設定できます。

chkconfig crond on

また、この設定ではデータベースはサーバ内に保存しておくものなので、サーバ自体がハードウェア的に故障してしまった場合などに取り出せなくなる可能性があります。
そのため、サーバ外の保存領域にも定期的にバックアップをとっておくとより安心です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です