MySQLを自動で定期的にバックアップ

HTML/CSS/CMS(サイト構築)

まあ、あんまり壊れないだろうけど、壊れたらいやだ。それがサーバのデータ。なので、MySQLをバックアップしたい。もちろん。自動で。
いろいろ方法があるけど、簡単GUIなやつが良いってことで、phpMyBackupProというのを見つけました。

DLしてきて、適当にアップロードして、ブラウザで表示させると、MySQLサーバ設定とかも全部ブラウザ上からできる優れもの。日本語版あるし、楽々設定。
んで、目的は自動バックアップです。

このやり方が正解かわからないけど、私はこれでやっているので、備忘録として記します。
1.『スケジュールバックアップ』をクリック
2.『At Each Call』と『DB名』をクリックして、『スクリプトを表示する』クリック
3.表示されたphpスクリプトを適当なdirに保存
4.さくらのコントロールパネルから、cron設定で、そのphpを毎日の夜中の3時とかに動かすように設定
これで、見事自動バックアップしてくれます。

↑上のやり方は、どうやら間違っていたようです。バックアップできていたと思ったのは、気のせいでした。
ということで、違う方法でやりましょう。ドキュメント(documentation→SHELL_MODE.txt)にshellでのやり方が載っているので、それを訳して実行してみます。

例)
php backup.php db1,db2,db3 1 0 0 1 path1,path2
The first argument contians all databases you want to backup. They must be separated by commas.
>最初の引数には、バックップしたいDB名を書きます。複数個の場合は、カンマで区切ること。(省略不可)
The second argument specifies whether tables should be backed up (1) or not (0).
>二番目の引数は、テーブルをバックアップするか(1)しないか(0)
The third argument specifies whether data should be backed up (1) or not (0).
>三番目の引数は、データをバックアップするか(1)しないか(0)
The fourth argument specifies whether the backup should contain ‘drop table …’ (1) or not (0).
>四番目の引数は、’drop table …’ を付加するか(1)しないか(0)
The fifth argument specifies whether the backup should be gziped (1) or not (0).
>五番目の引数は、gzipで圧縮するか(1)しないか(0)
The sixth argument can contain the directory paths you want to backup. They must be separated by commas.
FTP must be enabled in ‘configuraton’ to use the directory backup function!
>六番目の引数は、バックアップ先のディレクトリを指定します。ただし、FTP機能が有効になっていないと使えません。
All arguments but the first are optional.
>最初の引数(DB名)以外は、全部オプションです。
If you want to use for example the fifth argument, you have to specify all preceeding parameters.
>もし五番目の引数だけを使いたいときでも、それ以前(二番目、三番目、四番目の全部を)書かなければいけません。

・・・・こんなとこでしょうか。間違ってたらゴメン。

で、これをさくらの環境に当てはめたとすると、こんな感じです。
/usr/local/bin/php -q /home/(ユーザ名)/www/(dir)/backup.php DBNAME 1 1 1 1 1

このコマンドをcronで動かせば自動バックアップの完成です!
んで、これの素晴らしいところは、『インポート』ってところからワンクリックで、バックアップデータからのリストアをしてくれるところ。書き戻すテーブルを選べたらベストなんですけどね。

コメント

タイトルとURLをコピーしました