【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、はてなブックマークなどで、シェアしていただけると嬉しいです(^^)
このエントリーをはてなブックマークに追加
コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


※管理人の承認後に、投稿したコメントが表示されます。
技術資料
【PHP】死活監視をPHPの標準関数だけ実現したった

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

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

シェル上でエクスポートしたデータベースをインポートする場合のコマンド。 いつも忘れてしまうので、メモ …

技術資料
【PHP】続:fputcsv関数の改行コード

前回、stream_filter_registerを使った、fputcsvの改行コードをLFからCR …