Laravel计划程序可以手动但不能自动运行?

时间:2015-11-18 09:21:40

标签: php laravel laravel-5 scheduled-tasks cron-task

我在void*

中有这个
Kernal.php

当我点击$schedule->call('removeTemporaryFiles')->everyMinute(); 时,它就像魅力一样。但我也跑了:

php artisan schedule:run

但它没有自动运行。我等了一分多钟但它还没有运行。我做错了什么?

主机cron在哪里保存?每分钟运行并调用工匠日程表的那个:运行?

2 个答案:

答案 0 :(得分:2)

要运行计划,首先需要将cron作业添加到cron表中。运行此命令

sudo crontab -e

然后选择您喜欢的编辑器。

然后添加以下行:

 * * * * * php /var/www/html/archive/artisan schedule:run >> /dev/null 2>&1

最后在您的Kernel.php中添加日程安排:

$schedule->command(<artisan command>)->everyMinute();

documentation完美地详细说明了它。

答案 1 :(得分:0)

寻找cron工作:

根据您的Linux系统的设置方式,您可以查看:

 - /var/spool/cron/* (user crontabs)

 - /etc/crontab (system-wide crontab)

此外,许多发行版都有:

 - /etc/cron.d/* These configurations have the same syntax as /etc/crontab

 - /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly

这些只是包含按照目录名称每小时,每天,每周或每月执行的可执行文件的目录。

最重要的是,你可以拥有工作(检查/var/spool/at/*),anacron(/etc/anacrontab/var/spool/anacron/*)以及其他我忘记的工作。

参考文献:https://unix.stackexchange.com/questions/7053/how-can-get-a-list-of-all-scheduled-cron-jobs-on-my-machine