首先在laravel项目命令创建:
php artisan make:command TestCommand
会在App\Console\Commands文件下看到TestCommand.php文件,自己填写
随后去Kernel.php文件注册,指定运行命令
->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'); 设置时区
最后在linux服务器中添加任务----
linux 查询已有的定时任务:
crontab -l
linux 添加定时任务:
crontab -e
在里面添加
* * * * * /usr/local/bin/php /home/www/laravel/artisan schedule:run >> /dev/null 2>&1
注意: /usr/local/bin/php 是你php位置;* * * * * 分表代表 分 时 日 月 周 (定时任务时间);/home/www/laravel 是你项目位置
linux 查询指定用户已有的定时任务:
crontab -l -u 用户名
linux 给指定用户添加定时任务:
crontab -e -u 用户名
这是要注意的是你使用root账户创建定时任务,生成什么文件比如log文件,其他账户比如www用户是没有权限写入,会导致项目出错,这时候我们需要用到给指定用户添加定时用户