CoreserverでMySQLのデータを自動的にバックアップする方法

2009年6月4日 | Category: Web | タグ: , ,

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

バイナリデータをテキストデータに変換するコマンドです。メールで送信するために、テキストデータに変換します。

mail

/usr/bin/mail -s 'ファイル名.txt.gz' 送信先メールアドレス

uuencodeで変換したテキストデータをメールで送信します。

以上のスクリプトを、cronで定期的に実行するように設定します。

当ブログもこの方法でDBのバックアップを取っています。メールの送信先にはGMailを設定しています。

当サイトについて

栃木県宇都宮市在住のWeb屋さんのブログ。サイト設計からコーディング、プログラミングまで幅広く担当します。Web標準,WordPress,jQueryあたりに興味があります。≫PROFILE