前回【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
お疲れした!!