Назад | Перейти на главную страницу

Работа cron на вычислительном движке google debian linux тихо терпит неудачу

Я пытаюсь заставить свои задания cron выводить ошибки, если задание cron не удается. Я создал команду, которая намеренно не пытается это проверить, например:

* * * * * php /var/some/nonexistent/script.php >> cronLog.log 

Я не хочу связываться с использованием MTA, поскольку Google Compute Engine блокирует все исходящие SMTP-запросы на порт 25, но я ничего не вижу в cronLog.log. У меня правильно настроены разрешения, и я могу без проблем писать в cronLog.log, когда скрипт php выполняется успешно. Итак, если вывод успешно передается в cronLog.log во время успешного задания cron, почему он просто исчезает, если команда не выполняется? В syslog тоже ничего нет. Куда идут мои сообщения об ошибках?

Вы не захватываете stderr, в который выводятся сообщения об ошибках. Пытаться

 * * * * * php /var/some/nonexistent/script.php >> cronLog.log 2>&1

в 2>&1 перенаправляет stderr на stdout, который сам перенаправляется на cronLog.log.