У меня есть cronjob в /etc/cron.d/mycron
это выглядит так:
0 3 * * * apache php /path/to/my/script.php
В том же файле есть другие cronjobs, которые запускаются от имени пользователя root и других пользователей (которые работают), но по какой-то причине это задание работает как apache, не работает и ничего не сообщает в /var/log/messages
или отправив что-нибудь в MAILTO
адрес в cron-файле. Когда я su apache
и запустите команду cronjob, она работает нормально, но cron она не нравится.
Для меня это давняя проблема, и на данный момент я собрал следующие возможности:
/etc/security/access.conf
установка блокировки apache с помощью crond, хотя /etc/security/access.conf
полностью закомментирован.Есть идеи или опыт решения этой проблемы и какое решение?
Спасибо
Для пользователя должен быть установлен домашний каталог. Если у пользователя его нет, вы можете указать его прямо в cron.d-файле.
Вероятно, вам также потребуется указать PATH = / usr / bin / или указать полный путь для команды.
HOME=/tmp
0 3 * * * apache /usr/bin/php /path/to/my/script.php
/usr/bin/php
grep apache /etc/passwd
Насколько я знаю, у пользователя всегда должен быть домашний каталог. Он может находиться не в / home.cron
по умолчанию работает с очень ограниченным PATH
; вам нужно указать полный путь к php
двоичный?