laravel команда cron не работает на сервере Ubuntu - PullRequest
0 голосов
/ 21 января 2020

Я новичок на сервере Ubuntu, и я устанавливаю работу cron, а затем делаю новую работу cron и не знаю, почему она не работает. Мое приложение в Laravel, поэтому я должен выполнить команду artisan через задание cron! Когда я в проекте, команда root cmd artisan выполняется правильно, но в cron не запускает ее.

здесь перечислено мое задание cron

I проверьте, работает ли он или нет так:

# sudo grep -i cron /var/log/syslog|tail -3

Это вывод:

Jan 21 09:30:01 liedergut CRON[5222]:(root) CMD (/path/to/php/bin/php /var/www/html/artisan shows:fetchrss >> /dev/null 2>&1)

Jan 21 09:30:01 liedergut CRON[5223]: (root) CMD (php /var/www/html/artisan shows:fetchrss >> /dev/null 2>&1)

1 Ответ

0 голосов
/ 21 января 2020

Скорее всего /var/www/html/php и /path/to/php/bin/php не существует. Вы можете узнать, где находится исполняемый файл php, используя whereis php (как вы указали в своем комментарии, это /usr/bin/php). Поэтому, чтобы ваша команда ремесленника запускалась каждую минуту, ваша строка cron должна быть

* * * * * /usr/bin/php /var/www/html/artisan shows:fetchrss >> /dev/null 2>&1

. Я бы посоветовал запускать планировщик Laravel каждую минуту:

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

и планировать вашу команда ремесленника внутри Laravel, как написано в документации по планированию задач Laravel . Таким образом, вы можете управлять запланированными заданиями или перепланировать их, не редактируя и не касаясь файла crontab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...