【PHP】CPIのサーバーでDBのバックアップを取るワンライナー

このエントリーをはてなブックマークに追加

レンタルサーバーCPIで、DBのバックアップを取る、ワンライナーのPHPスクリプト。
下記がコード。

<?
system(“/usr/local/mysql5/bin/mysqldump –user=DBユーザ名 –password=パスワード DB名 > /path/to/dump.sql”);
?>

/usr/local/mysql5/bin/mysqldumpは、mysql4を使用している場合は、/usr/local/mysql4/…になる。
/path/to/dump.sqlは出力先までのパス。

事前にecho $_SERVER[“DOCUMENT_ROOT”]で、ドキュメントルートの確認をしておくと良い。

なお、応用として、出力先のパスのみを、dump_monday.sql、dump_tuesday.sql等と変更したものを一週間分作成しておき、cronを使って、曜日指定で定期的に実行させれば、日次バックアップを一週間分自動で取ってくれるので、管理が楽。

なぜこれに至ったかというと、CPIのサーバーは、phpmyadminがデフォルトでインストールされているので、そこからバックアップは取れるのだが、レコード数の多いテーブルの場合、データが多すぎてバックアップが正常に取れないので、「じゃあ、mysqldumpで。」となったってわけ。

たぶんほかのレンタルサーバーでも似たような感じで使える。

ちなみに、上記で取ったバックアップを別のサーバーで復元するには、下記参照。

[MYSQL] データベースインポートのコマンド

 

 

2018年6月13日補足:

–hostを指定しないと、きちんと実行されない事があるようです。
(サーバーによって個体差がある??)

その場合は、下記のように、–host=localhostを指定します。

<?
system(“/usr/local/mysql5/bin/mysqldump –host=localhost –user=DBユーザ名 –password=パスワード DB名 > /path/to/dump.sql”);
?>

 

この記事をシェアする

この記事が役に立ったら、Facebook、Twitter、はてなブックマークなどで、シェアしていただけると嬉しいです(^^)
このエントリーをはてなブックマークに追加
サーバー運用
WordPressのバックアップで、最も手軽で安全な方法【torocca】

アフィリエイターの方にとっても、企業の方にとっても、 今やWordpressは主流なホームページ・ブ …

サーバー運用
【PHP】死活監視をPHPの標準関数だけ実現したった

ボーカル講座が連載されているかと思いきや、突如話題が変わった、サーバーの死活監視についてwww 簡易 …

xserver
レンタルサーバーはxserverがお薦め!7つのよくある質問。

サーバーを借りたいけど、さくら、ロリポップ、ヘテムルなど、どのレンタルサーバーが一番良いのか、悩みま …