Логирование для скриптов на кроне с помощью monolog

Опубликовано 1 апреля, 2017 - 00:16 пользователем hobocta
Теги: 

4. Crontab: делаем, чтобы все сообщения сохранялись в файл, а ошибки отправлялись на почту

4.1. Включаем отправку на почту, добавив в crontab:

MAILTO=login@example.com

4.2. Добавляем запуск скрипта в крон:

0 0 * * * /usr/bin/php /path/to/script.php >> /path/to/log.log

>> дописывает строки в конец файла, поэтому для него нужно настроить ротацию. Либо можно вместо >> использовать >, тогда файл лога будет перезаписываться с нуля, минус в том, что в этом случае в лог сохранится только информация о последнем запуске скрипта.

5. Другие варианты перенаправления stdout и stderr потоков

Перенаправляем всё в /dev/null (т. е. никуда не записываем и не отправляем на почту):

/usr/bin/php /path/to/script.php > /dev/null 2>&1

Ничего не перенаправляем, отправляем всё на почту:

/usr/bin/php /path/to/script.php

Записываем всё в файл, и не отправляем ничего на почту:

/usr/bin/php /path/to/script.php >> /path/to/log.log 2>/dev/null