Laravel 定时任务不执行排错过程

作者:admin 发布:2018-09-26 浏览:4037次

Laravel 创建定时任务 

crontab -e

加入:

* * * * * php /path-to-your-project/to/artisan schedule:run >> /dev/null 2>&1

在 app/Console/Kernel.php 中加入计划任务

protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
        //          ->hourly();
        // 15. 每隔一分钟执行一次
        $schedule->call(function () {
            event(new RssCreatedEvent());
        })->everyMinute();
    }

写完计划任务后最好手动执行下,看是否书写正确:

php artisan schedule:run

手动执行任务正确执行。

但是等待1分钟之后并没有自动执行任务;

首先怀疑 cron 服务没有开启,

service cron status 

service cron start

查看输出日志:

tail -f /dev/blog

php:/usr/local/php/bin/php // 我配置了php的全局环境变量,但是还是报错

root@ubuntu-xenial:/vagrant/blog# tail -f /dev/blog
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
/bin/sh: 1: php: not found
这里需要指定php的绝对路径。

最终的写法:


* * * * * /usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1


查看 cron 执行日志:

vim /etc/rsyslog.d/50-default.conf

找到cron.log相关行,将前面注释符#去掉,保存退出,重启rsyslog

 service rsyslog  restart
tail -f /var/log/cron.log
root@ubuntu-xenial:/vagrant/blog# tail -f /var/log/cron.log 
Sep 26 11:51:01 ubuntu-xenial CRON[2799]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:52:01 ubuntu-xenial CRON[2817]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:52:01 ubuntu-xenial CRON[2818]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:52:01 ubuntu-xenial CRON[2819]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:53:01 ubuntu-xenial CRON[2837]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:53:01 ubuntu-xenial CRON[2838]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:53:01 ubuntu-xenial CRON[2839]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:54:01 ubuntu-xenial CRON[2862]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:54:01 ubuntu-xenial CRON[2863]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:54:01 ubuntu-xenial CRON[2864]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:55:01 ubuntu-xenial CRON[2889]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:55:01 ubuntu-xenial CRON[2890]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:55:01 ubuntu-xenial CRON[2891]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:56:01 ubuntu-xenial CRON[2909]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:56:01 ubuntu-xenial CRON[2910]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:56:01 ubuntu-xenial CRON[2911]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:57:01 ubuntu-xenial CRON[2929]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:57:01 ubuntu-xenial CRON[2930]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:57:01 ubuntu-xenial CRON[2931]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)
Sep 26 11:58:01 ubuntu-xenial CRON[2949]: (root) CMD (/usr/local/php/bin/php /vagrant/LaraBBS/artisan schedule:run >> /dev/null 2>&1)
Sep 26 11:58:01 ubuntu-xenial CRON[2950]: (root) CMD (/usr/local/php/bin/php /vagrant/blog/artisan schedule:run >> /dev/blog 2>&1)
Sep 26 11:58:01 ubuntu-xenial CRON[2951]: (root) CMD (echo "Hello world!" >> /tmp/cron_log.txt)


Comments (0)