1.php代码
php代码写在 app/Console/Kerenl文件里 /** * Define the application's command schedule. * * @param \Illuminate\Console\Scheduling\Schedule $schedule * @return void */ protected function schedule(Schedule $schedule) { $schedule->call(function () { //这里是你的php业务代码 })->twiceDaily(12, 23);//执行时间 }
2.新建一个sh文件例如map.sh
#/var/www/html/myweb/ 这个是你项目的根目录 cd /var/www/html/myweb/ php artisan schedule:run
3.在linux加上crontab
cd /etc vim crontab //文件如下 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed */1 * * * * root /var/www/html/myweb/map.sh
这个就是你需要执行的sh文件地址根据你自己的项目来写 */1 * * * * root /var/www/html/myweb/map.sh
4.重新载入
/sbin/service crond reload //重新载入配置
相关命令
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置
方法 | 描述 |
---|---|
->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'); | 设置时区 |
这些方法可以和额外的约束一起联合起来创建一周特定时间运行的更加细粒度的调度,例如,要在每周一调度一个命令:
$schedule->call(function () { // 每周星期一13:00运行一次... })->weekly()->mondays()->at('13:00'); // 工作日的上午8点到下午5点每小时运行... $schedule->command('foo') ->weekdays() ->hourly() ->timezone('America/Chicago') ->between('8:00', '17:00');
下面是额外的调度约束列表:
方法 | 描述 |
---|---|
->weekdays(); | 只在工作日运行任务 |
->sundays(); | 每个星期天运行任务 |
->mondays(); | 每个星期一运行任务 |
->tuesdays(); | 每个星期二运行任务 |
->wednesdays(); | 每个星期三运行任务 |
->thursdays(); | 每个星期四运行任务 |
->fridays(); | 每个星期五运行任务 |
->saturdays(); | 每个星期六运行任务 |
->between($start, $end); | 基于特定时间段运行任务 |
->when(Closure); | 基于特定测试运行任务 |
本文由:xiaoshu168 作者:xiaoshu发表,转载请注明来源!