1

Я хочу, чтобы crontab регистрировал ошибки. Насколько я знаю, это регистрируется в /var/mail/root , но, похоже, не работает. Нужно ли устанавливать postfix для того, чтобы это работало?

2 ответа2

1

Если под "Журналом ошибок" вы подразумеваете "отправить ошибки владельцу задания cron по электронной почте", адрес электронной почты должен работать. В простом случае cron предполагает, что у пользователя есть адрес электронной почты на локальном компьютере, и требует доставки почты, чтобы работала электронная почта для локальных пользователей - это означает, что вам нужно запустить почтовый сервер (например, postfix, но есть другие) чтобы это работало.

Альтернатива (по крайней мере, для большинства версий cron) - указать, кому электронная почта должна быть доставлена. Это можно сделать, поместив следующую строку над интересующими заданиями (обычно вверху) файла cron:

MAILTO="my@address.here"

Вам все равно понадобится MTA (который должен присутствовать на любом "правильно" настроенном Linux-боксе), но этот MTA может просто пересылать всю почту за пределы сайта, то есть будет удобной конфигурация по умолчанию, которая поставляется с linux.

Другой альтернативой (которая не требует наличия MTA) является перенаправление вывода для каждой строки в crontab в соответствующий файл. Что-то вроде

* * * * *  /bin/date 2>&1 >> /tmp/cron-datecheck.log

Может сработать для вас, с битом после слова "date", говорящим log stderr для stdin, и добавить stdin в файл /tmp/cron-datecheck.log

0

Электронная почта для пользователя root должна быть доставлена непривилегированному пользователю.
Используйте sendmail -bv root чтобы узнать, настроен ли ваш постфикс для перенаправления почты в root. http://www.postfix.org/sendmail.1.html

Если вы хотите создать редирект:http://www.postfix.org/aliases.5.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .