建立定時任務php
crontab -e #添加代碼 * * * * * /usr/bin/php7.0 /var/www/html/laravel/artisan schedule:run >> /dev/null 2>&1 注意:/usr/bin/php7.0爲你的php位置 ,* * * * *分別表明 分 時 日 月 周 (定時任務的時間) /var/www/html/laravel/爲你的項目位置
查看定時任務html
crontab -l
定義調度laravel
在App\Console\Commands下建立Test.php數組
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Foundation\Inspiring; use Log; class Test extends Command { protected $name = 'test';//命令名稱 protected $description = '測試'; // 命令描述,沒什麼用 /** * Execute the console command. * * @return mixed */ public function handle() { log::info('test'); // 功能代碼寫到這裏 } }
編輯 app/Console/Kernel.php
文件,將新生成的類進行註冊:php7
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { /** * The Artisan commands provided by your application. * * @var array */ protected $commands = [ \App\Console\Commands\Test::class, ]; /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->command('test')//Test.php中的name ->everyFiveMinutes();//每五分鐘執行一次 } }
PS:若是有多個定時任務,只須要參照test.php再次生成一個,Kernel.php中的$commands數組中再添加新加的類,schedule中$schedule->command('新name')->everyFiveMinutes();便可app
經常使用:ide
->cron('* * * * *'); 在自定義Cron調度上運行任務 ->everyMinute(); 每分鐘運行一次任務 ->everyFiveMinutes(); 每五分鐘運行一次任務 ->everyTenMinutes(); 每十分鐘運行一次任務 ->everyThirtyMinutes(); 每三十分鐘運行一次任務 ->hourly(); 每小時運行一次任務 ->daily(); 天天凌晨零點運行任務 ->dailyAt('13:00'); 天天13:00運行任務 ->twiceDaily(1, 13); 天天1:00 & 13:00運行任務 ->weekly(); 每週運行一次任務 ->monthly(); 每個月運行一次任務 ->monthlyOn(4, '15:00'); 每個月4號15:00運行一次任務 ->quarterly(); 每一個季度運行一次 ->yearly(); 每一年運行一次 ->timezone('America/New_York'); 設置時區