###前提・実現したいこと
CakePHP3でデータベースのバックアップシステムを作っています。
cronにて定期的にシステムを走らせてバックアップさせたいのですが、
cakephp3でのcronの実行の仕方がわかりません。
下記コントローラを実行して、データベースのバックアップを取りたいと思っています。
###該当のソースコード
namespace App\Controller; use App\Controller\AppController; use Cake\Datasource\ConnectionManager; class BackupController extends AppController { public function index() { $dirPath = "backup/"; $tables = ConnectionManager::get('default')->schemaCollection()->listTables(); $con = ConnectionManager::config('default'); foreach($tables as $table) { exec('mysqldump --default-character-set=binary --host='.$con['host'].' --user='.$con['username'].' --password='.$con['password'].' '.$con['database'].' '.$table.' > '. $dirPath . $table.'.sql'); } } }
このコントローラURLを実行するとバックアップが取れるところまではきていますが、
コントローラで作ってしまったのがいけないんでしょうか。
cakephpは初心者で手探り状態でここまできたのですが…
わかりにくい質問ですが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/20 09:58
2016/04/20 11:15
2016/04/21 09:33