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

Crontab, ведите журнал вывода, но отключите отправку электронной почты

На данный момент у меня такие кроны, как:

45 * * * * www-data php /var/www/console cmd:dispatch --env=prod 2>&1 > /var/log/cron/cmd_dispatch.log

И я бы хотел отключить отправку электронной почты. Для этого я могу добавить &> /dev/null лайк :

45 * * * * www-data php /var/www/console cmd:dispatch --env=prod 2>&1 > /var/log/cron/cmd_dispatch.log; &> /dev/null

Будет ли отключена только отправка электронной почты?

Если вы действительно хотите запретить cron отправлять электронную почту, вы должны запустить службу с аргументами «-m off -s».

  • "-m off" отключает электронную почту cron
  • "-s" отправляет любой не захваченный вывод в системный журнал

Это предполагает, что вы хотите полностью отключить электронную почту cron, а не только для данной записи.

Я не уверен, что так будет, но давайте исправим это как следует.
Порядок переадресации имеет значение.
Что вы пытаетесь сделать, так это записать в этот файл сообщения stderr и stdout, поэтому вам следует:

... >/var/log/cron/cmd_dispatch.log 2>&1

Смотрите также https://www.gnu.org/software/bash/manual/html_node/Redirections.html