Прежде всего, когда задание крона перестало работать, крон посылает электронное письмо. По умолчанию это владельцу задания крона. Таким образом, те электронные письма, вероятно, идут в cronuser@localhost или возможно root@localhost. Проверьте те электронные ящики. С другой стороны, можно указать, куда почта должна пойти путем помещения MAILTO=email@domain
наверху crontab файла. (На самом деле я вижу, что Вы помещаете MAIL=""
наверху Вашего crontab. По крайней мере, согласно man 5 crontab
на моей машине это должно быть MAILTO
. И Вы не хотите выбрасывать сообщения об ошибках при попытке выяснить, почему это не работает!)
Во-вторых, использование крона /bin/sh
. Набор SHELL=/bin/bash
(снова, наверху crontab), если Вы должны колотить расширения.
В-третьих, Вы не полностью протестировали полномочия. Необходимо сделать что-то как:
# su -s /bin/sh -u cronuser
$ touch /path/to/stdout.log
$ touch /path/to/stderr.log
$ cat /path/to/process.php > /dev/null
$ exit
полностью проверять полномочия. cronuser
мог пропускать +x на родительском каталоге, например. (Я предполагаю, что необходимо проверить/usr/bin/php также, но я предполагаю, что это нормально),
Можно также попытаться выполнить команду в минимальной среде:
# su -s /bin/sh -u cronuser
$ env - /bin/sh
$ /usr/bin/php -C /etc /path/to/process.php
видеть, работает ли это.