Я хочу, чтобы crontab
регистрировал ошибки. Насколько я знаю, это регистрируется в /var/mail/root
, но, похоже, не работает. Нужно ли устанавливать postfix
для того, чтобы это работало?
2 ответа
Если под "Журналом ошибок" вы подразумеваете "отправить ошибки владельцу задания 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
Электронная почта для пользователя root должна быть доставлена непривилегированному пользователю.
Используйте sendmail -bv root
чтобы узнать, настроен ли ваш постфикс для перенаправления почты в root.
http://www.postfix.org/sendmail.1.html
Если вы хотите создать редирект:http://www.postfix.org/aliases.5.html