« MySQLのバックアップをとろう!(同じサーバー内) | メイン | Linuxでのバックアップを自動化する »

MySQLのバックアップをcronを利用して定期的に行おう!!

前回【MySQLのバックアップをとろう!(同じサーバー内)】のmysqldumpを利用してMySQLのデータベースバックアップが出来たので、
これを定期的に行うようにしましょう。

cronを利用です!

まず、shellを書きましょう。

mysql_db_backup.sh
-------------------------------------
#!/bin/sh
bak=`date +%y%m%d`
cp /var/backup-file.sql /var/$bak.sql
mysqldump --opt --add-drop-table --add-locks --password=hoge database_name > /var/$bak.sql
chmod 700 /var/$bak.sql
bak2=`date --date "7 days ago" +%y%m%d`
rm -f /var/$bak2.sql
--------------------------------------

1日1回で、1週間前のファイルは削除と言うサイクルを繰り返すとすると、
こんな感じか・・・。
とりあえず、直接叩いてみる。

[root@internal mysql]# sh mysql_db_backup.sh

成功!!!

なので、これをcronで回す。
http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
↑一応cron設定ガイド。


実行したいユーザー(権限のあるユーザー)になり、

crontab -e

とやり、viが開くので、

0 4 * * * /var/mysql_db_backup.sh

※この設定だと、毎日4時0分にシェルを実行することになる。

とやり保存する。

・・・とりあえず、テストしたいが、朝4時までまってられないので、

0-59/3 * * * * /var/mysql_db_backup.sh

として、3分毎に実行してみる。

・・・3分経過・・・。
見てみる。

おお!!成功!!!

では、毎日4時0分の設定に戻して、保存!!

0 4 * * * /var/mysql_db_backup.sh

お疲れした!!



トラックバック

このエントリーのトラックバックURL:
http://synth.jp/pg/mt-tb.cgi/1035

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

カレンダー


2007年06月
Su Mo Tu We Th Fr Sa
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Map

About

2007年05月25日 16:31に投稿されたエントリーのページです。

ひとつ前の投稿は「MySQLのバックアップをとろう!(同じサーバー内)」です。

次の投稿は「Linuxでのバックアップを自動化する」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。