CoreserverでMySQLのデータを自動的にバックアップする方法
2009年6月4日 | Category: Web | タグ: GMail, MySQL, WordPress
Coreserverで、MySQLデータベースを自動でバックアップする方法。
以下のスクリプト(backup.sh)をcronで定期的に実行します。
#!/bin/sh
/usr/local/mysql/bin/mysqldump -h localhost -c -u DBユーザ名 --password=DBパスワード DB名 | /usr/bin/gzip | /usr/bin/uuencode ファイル名.txt.gz | /usr/bin/mail -s 'ファイル名.txt.gz' 送信先メールアドレス
上のスクリプトは、主に4つの部分から成っています。
mysqldump
/usr/local/mysql/bin/mysqldump -h localhost -c -u DBユーザ名 --password=DBパスワード DB名
MySQLのデータをダンプします。DBユーザ名、DB名は同じもので、phpMyAdminにログインするときのユーザ名と同じです。DBパスワードはphpMyAdminにログインするときのパスワードと同じです。
gzip
/usr/bin/gzip
gzipで圧縮します。
uuencode
/usr/bin/uuencode ファイル名.txt.gz
バイナリデータをテキストデータに変換するコマンドです。メールで送信するために、テキストデータに変換します。
/usr/bin/mail -s 'ファイル名.txt.gz' 送信先メールアドレス
uuencodeで変換したテキストデータをメールで送信します。
以上のスクリプトを、cronで定期的に実行するように設定します。
当ブログもこの方法でDBのバックアップを取っています。メールの送信先にはGMailを設定しています。