Почему мой php-скрипт не запускается при загрузке? Запуск из командной строки работает нормально
Я поместил следующую информацию в мой файл crontab, введя "crontab -e" (как для пользователей root, так и для пользователей ubuntu, в 32-битном экземпляре Canonical Ubuntu AWS):
@reboot /usr/bin/php /usr/share/nginx/www/cron/updateIp.php
Я также попробовал:
@reboot /usr/bin/php /usr/share/nginx/www/cron/updateIp.php >> /home/ubuntu/crontab.log
И /home/ubuntu/crontab.log ничего не содержит после двух перезагрузок.
Я полагаю, что php и / или nginx не загружается, когда этот cronjob пытается запустить?
Без каких-либо журналов ошибок, чтобы проверить, однако, я в растерянности относительно того, что делать дальше..?
РЕДАКТИРОВАТЬ: Даже после входа в ящик через SSH с тем же пользователем, что crontab -e был создан под... cronjob не запускается.
РЕДАКТИРОВАТЬ 2: (результаты системного журнала):
Nov 9 13:29:02 ip-10-122-254-128 CRON[603]: (root) CMD (php /usr/share/nginx/www/cron/updateIp.php)
Nov 9 13:29:02 ip-10-122-254-128 CRON[604]: (ubuntu) CMD (/usr/bin/php /usr/share/nginx/www/cron/updateIp.php >> /home/ubuntu/crontab.log 2>&1)
РЕДАКТИРОВАТЬ 3: Эта ссылка фактически дала ответ, который я искал. Очевидно, мне нужно было установить php-cgi и упомянуть об этом, даже если php не показывает его? Простая установка php5-cgi и изменение / usr / bin / php на /usr/bin/php-cgi работало как чудо. У меня уже были установлены php5-cli и php5-fpm, поэтому я решил, что php5-cgi не нужен, но, наверное, это было так.
2 ответа
Проверьте, работает ли cron.
status cron
cron start/running, process 1380
или же
ps aux | grep cron
root 1380 0.0 0.0 2092 876 ? Ss Nov03 0:02 cron
Если он работает или нет, то посмотрите /var/log/syslog
и посмотреть, есть ли какие-либо соответствующие сообщения.
grep CRON /var/log/syslog
Nov 9 11:18:29 iain-ubuntu cron[3509]: (CRON) STARTUP (fork ok)
Nov 9 11:18:29 iain-ubuntu cron[3509]: (CRON) INFO (Skipping @reboot jobs -- not system startup)