mysqldumpによるバックアップ
前項ではmysqlhotcopyによるバックアップを検討しましたが、
「今動いてるシステムのバックアップバッチと同じようにして下さい」との指示が来ました。
・・・・ということで、変えます。
方法は、mysqldump+オプションもろもろ。
#!/bin/sh
backupdate=`date +%Y%m%d%H%M`
/usr/bin/mysqldump --user=root --password=****** --single-transaction --hex-blob --flush-logs --default-character-set=utf8 --all-databases > /root/backup/mysql-dump_$backupdate.sql
各オプションは、こんな意味だそうです
(参考)http://tech.lampetty.net/tech/index.php/archives/292
「フラッシュ」の意味が、漠然とイメージはできますが判然としなかったので調査
http://www.navicat.jp/mysql/manual/win8/Flush.html
sqlが出力されたので、これをtar.zgで保管するために、以下2行追加
tar zPcvf mysql-dump_$backupdate.tar.gz /root/backup/mysql-dump_$backupdate.sql
rm /root/backup/mysql-dump_$backupdate.sql
tar のオプションPは、「tar: メンバ名から先頭の `/' を取り除きます」というメッセージ出力抑制。
(参考)http://becomehappy.orz.hm/smithlog/article.php?id=202
シェルを作ってからの先は、http://centossrv.com/mysql-backup.shtml に倣ってcron設定