西山 博実
hnish****@skygr*****
2008年 8月 8日 (金) 17:46:28 JST
川西さんへ こんばんは、西山です。 DBバックアップ機能についての要望です。 TestLink(TestLink 1.8)に、DBバックアップ機能があると管理者は楽だと思います。 そこで、adminでloginした場合には、DBのエクスポートとインポートの メニューを追加するのは、いかがでしょう? よろしく、ご検討ねがいます。 (8/9〜17は夏休みでメールができません。 ゴメンナサイ!) phpコードは自作システムのものです。 →Windows(XAMPP)では動作しませんが、Windows(XAMPP)ではphpMyAdmin が付いてくるので、phpMyAdminでDBバックアップができます。 ■DBの管理 ・[エクスポート] →定期的にエクスポートすることで、SQLファイルにバックアップできます。 →SQLファイル(<datadir>/testlink/db.sql)が作成(更新)された事をファイルの更新日時で確認してください。 ・[インポート] →DBを全消去してからインポートします。 →前回エクスポートしたSQLファイルより、DBが復元できます。 ////////////////////////////////////////// // // データベースのエクスポート関数 →Windows(XAMPP)では動作しません // // 引数 :無し // 戻り値:出力SQLファイル ////////////////////////////////////////// function DB_export(){ // サーバー定数の設定 $this->set_server_var(); // DB SQLファイル if( 1 == $this->LocalSys ){ $DbSqlFile = $this->DbSqlFileLocal; } else { $DbSqlFile = $this->DbSqlFileHost; } // データベースのエクスポートshellコマンドの作成 $shell = sprintf("mysqldump %s > %s --host=%s --user=%s --password=%s", $this->myDB, $DbSqlFile, $this->myServer, $this->myUser, $this->myPass ); // shellコマンドの実行 $result = shell_exec($shell); printf("<b><p>DATABASEの「%s」を「%s」へエクスポートしました。</p></b>", $this->myDB, $DbSqlFile); // 戻り値:出力SQLファイル return $DbSqlFile; } ////////////////////////////////////////// // // データベースのインポート関数 →Windows(XAMPP)では動作しません // // 引数 :無し // 戻り値:入力SQLファイル ////////////////////////////////////////// function DB_import(){ // サーバー定数の設定 $this->set_server_var(); // DB SQLファイル if( 1 == $this->LocalSys ){ $DbSqlFile = $this->DbSqlFileLocal; } else { $DbSqlFile = $this->DbSqlFileHost; } // データベースのインポートshellコマンドの作成 $shell = sprintf("mysql %s < %s --host=%s --user=%s --password=%s", $this->myDB, $DbSqlFile, $this->myServer, $this->myUser, $this->myPass ); // shellコマンドの実行 $result = shell_exec($shell); printf("<b><p>DATABASEの「%s」へ「%s」をインポートしました。</p></b>", $this->myDB, $DbSqlFile); // 戻り値:出力SQLファイル return $DbSqlFile; }