スポンサードリンク

PHP
PHP

MySQLを使っているのですが、

そのデータのバックアップをいつもphpMyAdminから

バックアップを取っていたのですが、

それを、WEB上からバックアップできるようにする方法です。

スポンサードリンク

mysqldumpコマンドを使うためのPHPのsystem関数

こちらを参考にさせて頂きました。
XserverでPHP+mysqldump使ってDBをバックアップする方法

$dbHost = "データベースのホスト名";
$dbUser = "データベースのユーザー名";
$dbPass = "データベースのパスワード";
$dbName = "データベースの名前";

$filePath = "保存する場所への絶対パス";
$fileName = date('ymd').'_'.date('His').'.sql';
$command = "mysqldump ".$dbName." --host=".$dbHost." --user=".$dbUser." --password=".$dbPass." > ".$filePath.$fileName;
system($command);

//保存したらダウンロード
$dlFile = $filePath . $fileName;	//ファイルパス
header('Content-Type: application/octet-stream');	//ダウンロードの指示
header('Content-Disposition: attachment; filename="' . $fileName . '"');	//ダウンロードするファイル名
header('Content-Length: '.filesize($dlFile));		//ファイルサイズを指定することでプログレスバーが表示される。
readfile($dlFile);

保存のファイルはテキスト形式でもよかったのですが、

SQLファイルにしました。

サーバーにもバックアップを保存しておきます。

バックアップを保存した後で、ダウンロードしています。

cronで時間指定して

自動バックアップも考えましたが、

今回は手動でバックアップを取ってダウンロードする方法にしました。

スポンサードリンク