crontab 并没有真正启动计划
crontab does not really start schedule
IN a laravel 我有一个 SnapShot 方法可以将数据复制到统计模型。
当我运行
/var/www/laravel/artisan schedule:run
数据被添加到统计中-table。
现在我已将以下行添加到 /etc/crontab
* * * * * php /var/www/laravel/artisan schedule:run >> dev/null 2>&1
在我的 /var/log/syslog 我读到:
Jul 16 08:53:01 cluego CRON[24524]: (root) CMD (cd /usr/bin/php7.4 && php artisan schedule:run /dev/null 2>&1)
Jul 16 08:53:01 cluego CRON[24523]: (CRON) info (No MTA installed, discarding output)
Jul 16 08:54:01 cluego CRON[24599]: (root) CMD (php /var/www/laravel/artisan schedule:run /dev/null 2>&1)
Jul 16 08:54:01 cluego CRON[24598]: (CRON) info (No MTA installed, discarding output)
laravel.log显示:
[2021-07-16 09:25:01] production.ERROR: No arguments expected for "schedule:run" command, got "/dev/null". {"exception":"[object] (Symfony\Component\Console\Exception\$
[stacktrace]
当我手动 运行 时,我得到以下结果:
root@xxxx:/var/www/laravel# php artisan schedule:run
Running scheduled command: '/usr/bin/php7.4' 'artisan' statistics:snap > '/dev/null' 2>&1
一个数据点被添加到 Statistics-table,就像它应该的那样。
谁能看出为什么 cronjob 不像手册 schedule:run 那样 运行 宁 statistics:snap 命令?
问题是您的 coron 作业格式错误。从文档来看,它应该是这样的:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
所以在你的情况下它应该是这样的:
* * * * * cd /var/www/laravel && php artisan schedule:run >> /dev/null 2>&1
我想您也可以尝试 运行 您的版本,但使用 php 的完整路径而不是仅 php
或使用 /dev/null
而不是 dev/null
* * * * * php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1
* * * * * /path/to/php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1
IN a laravel 我有一个 SnapShot 方法可以将数据复制到统计模型。
当我运行
/var/www/laravel/artisan schedule:run
数据被添加到统计中-table。
现在我已将以下行添加到 /etc/crontab
* * * * * php /var/www/laravel/artisan schedule:run >> dev/null 2>&1
在我的 /var/log/syslog 我读到:
Jul 16 08:53:01 cluego CRON[24524]: (root) CMD (cd /usr/bin/php7.4 && php artisan schedule:run /dev/null 2>&1)
Jul 16 08:53:01 cluego CRON[24523]: (CRON) info (No MTA installed, discarding output)
Jul 16 08:54:01 cluego CRON[24599]: (root) CMD (php /var/www/laravel/artisan schedule:run /dev/null 2>&1)
Jul 16 08:54:01 cluego CRON[24598]: (CRON) info (No MTA installed, discarding output)
laravel.log显示:
[2021-07-16 09:25:01] production.ERROR: No arguments expected for "schedule:run" command, got "/dev/null". {"exception":"[object] (Symfony\Component\Console\Exception\$
[stacktrace]
当我手动 运行 时,我得到以下结果:
root@xxxx:/var/www/laravel# php artisan schedule:run
Running scheduled command: '/usr/bin/php7.4' 'artisan' statistics:snap > '/dev/null' 2>&1
一个数据点被添加到 Statistics-table,就像它应该的那样。
谁能看出为什么 cronjob 不像手册 schedule:run 那样 运行 宁 statistics:snap 命令?
问题是您的 coron 作业格式错误。从文档来看,它应该是这样的:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
所以在你的情况下它应该是这样的:
* * * * * cd /var/www/laravel && php artisan schedule:run >> /dev/null 2>&1
我想您也可以尝试 运行 您的版本,但使用 php 的完整路径而不是仅 php
或使用 /dev/null
而不是 dev/null
* * * * * php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1
* * * * * /path/to/php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1