call(function () { foreach (TelActivation::get() as $t) { if (time() > strtotime($t->ttl)) { TelActivation::where('id', $t->id)->delete(); } } foreach (EmailActivation::get() as $e) { if (time() > strtotime($e->ttl)) { EmailActivation::where('id', $e->id)->delete(); } } })->everyMinute(); $schedule->call(function () { $dbbckp = '/work/storage/backup/mysql/'; $flbckp = '/work/storage/backup/file/'; $week = 604800; // 1週間 $fname = date('Ymd').date('H'); // 日付+時 // DBのバックアップ exec('/usr/bin/mysqldump --no-tablespaces --user='.config('database.connections.mysql.username').' --host='.config('database.connections.mysql.host').' --password='.config('database.connections.mysql.password').' --databases '.config('database.connections.mysql.database').' > '.$dbbckp.$fname.'_mysql.sql'); // GZIPでDBを圧縮する(ストレージ為) exec('/bin/gzip '.$dbbckp.$fname.'_mysql.sql'); // ファイルのバックアップ exec('/bin/tar zcfv '.$flbckp.$fname.'.tar.gz /work/storage/app/private/*'); // 全てのSQLファイルを読み込むと、古いやつを削除する。 foreach (scandir($dbbckp) as $s) { if ($s == '.' || $s == '..') continue; $t = str_replace('_mysql.sql.gz', '', $s); // extの削除 $t = preg_replace('/[\w\d]{2}$/', '', $t); // 時間の削除 if (strtotime($t) < time()-604800) { exec('/bin/rm -rf '.$dbbckp.$s); } } // 全てのTARファイルを読み込むと、古いやつを削除する。 foreach (scandir($flbckp) as $s) { if ($s == '.' || $s == '..') continue; $t = str_replace('.tar.gz', '', $s); // extの削除 $t = preg_replace('/[\w\d]{2}$/', '', $t); // 時間の削除 if (strtotime($t) < time()-604800) { exec('/bin/rm -rf '.$flbckp.$s); } } })->twiceDaily(0, 12); // $schedule->command('inspire')->hourly(); } /** * Register the commands for the application. * * @return void */ protected function commands() { $this->load(__DIR__.'/Commands'); require base_path('routes/console.php'); } }