(5)
(0)
(0)
(0)
Total: 5 CakePHP MySQLのバックアップ(mysqldump)を行うバッチ
CakePHP1.2からコマンドラインからCakeが起動できるようになりました。
この機能を使って、MySQLのバックアップを行う簡単なスクリプトを作成してみました。
データベースの接続には、/app/config/database.phpの接続情報を利用しています。
ソースコード:mysqldump.php
/app/vendors/shells/mysqldump.php
PHP:
-
class MysqldumpShell extends Shell
-
{
-
// データベース設定ファイルの定義名
-
var $database_config = 'default';
-
-
function dump(){
-
Configure::write('debug', 0);
-
App::import('Core', 'ConnectionManager');
-
$db =& ConnectionManager::getDataSource($this->database_config);
-
-
// mmdd単位でログを作成
-
,$db->config['login']
-
,$db->config['password']
-
,$db->config['database']
-
,$path);
-
}
-
}
利用時の注意点
1.バッチスクリプトは/app/vendors/shells/ディレクトリに配置します。
2.上記は/app/tmp/logs/mysqldump/ディレクトリにログファイルを生成しますので、ディレクトリへの書込み権限を事前に与えておく必要があります。
3.起動時のパスは/cake/console/cake になりますのでこのファイルに実行権限が必要です。
起動方法
CakePHPの本体が/var/www/cakephp/に配置されていた場合、
cd /var/www/cakephp; cake/console/cake mysqldump dump
または、
/var/www/cakephp/cake/console/cake mysqldump dump -app /var/www/cakephp/app
として実行します。
CakePHPのコマンドライン起動については公式マニュアルに詳細が記載されています。
The Cookbook 3.12 CakePHP コンソール
関連するその他の記事
Comments
Leave a Reply