На этот вопрос уже есть ответ здесь:
Когда я создаю образ своего сервера, я записываю во временный файл следующее:
* * * * * php /var/www/artisan schedule:run
, а затем загружаю его с помощью
crontab < /tmp/cron
После развертывание образа, я запускаю cron -f
и вижу, что процесс действительно запущен, но задание cron не запускается.
Если я запускаю crontab -e
, добавляю пробел, сохраняю его, снова выполняю crontab -e
и удаляю пробел, задание cron работает нормально без перезагрузки cron .
Я попытался перезагрузить cron при сборке с помощью /etc/init.d/cron reload
, но это не решило проблему.
crontab необходимо уведомить. Вы можете сделать что-то вроде этого (осторожно!) Добавить через командную строку или с помощью сценария:
(crontab -l 2>/dev/null; echo "* * * * * php /var/www/artisan schedule:run") | crontab -
2> / dev / null;
подавляет сообщение crontab, когда у пользователя есть пустой crontab.