Могу ли я изменить получателя почты по умолчанию на заданиях cron?


12

Я считаю, что если есть какой-либо вывод из cronjob, он отправляется по почте пользователю, которому принадлежит работа. Я думаю, что вы также можете добавить что-то вроде MAILTO=vivek@nixcraft.inв верхней части файла cron, чтобы изменить, куда вывод отправляется.

Могу ли я установить опцию, чтобы задания системы cron были отправлены по электронной почте, root а не пользователю, который их запускает? (т.е. чтобы мне не нужно было устанавливать это в файле cron каждого пользователя)

Ответы:


9

Проверьте /etc/crontabфайл и установите MAILTO=rootтам. Может также понадобиться в /etc/rcфайле

crondпохоже, принимает переменную MAILTO, я не совсем уверен, но стоит попробовать изменить переменную окружения для crond до ее запуска. Как в /etc/sysconfig/crondили /etc/rc.d/init.d/crondсценарий, который источник более раннего файла.

Пример:

[centos@centos scripts]$ strings /usr/sbin/crond | grep -i mail
ValidateMailRcpts
MailCmd
cron_default_mail_charset
usage:  %s [-n] [-p] [-m <mail command>] [-x [
CRON_VALIDATE_MAILRCPTS
mailed %d byte%s of output but got status 0x%04x
[%ld] no more grandchildren--mail written?
MAILTO
/usr/sbin/sendmail
mailcmd too long
[%ld] closing pipe to mail
MAIL

Огромное спасибо! +1. Возможно, поместите нижнюю часть вашего ответа в формате preformat / code?
cwd

7

Положить MAILTO=rootв /etc/default/cron. Этот файл содержит настройки по умолчанию для cron.

man 5 crontab говорит,

Если MAILTO определено (и не пусто), почта отправляется пользователю с таким именем.

См. Http://man.cx/cron(1)#heading4


где? для файла crontab каждого пользователя?
Nikhil Mulley

@Nikhil проверь мой обновленный ответ.
Сачин Дивекарь

1
это работает только для пользователей, чей crontab имеет это. Будет ли это работать, если у кого-либо из пользователей не установлена ​​эта переменная? Я думаю, что @Cwd специально попросил глобальные настройки для всех пользователей.
Nikhil Mulley

@SachinDivekar -1 Никхил прав. Также вы отредактировали мой вопрос и изменили его значение. Отредактированное значение совпадает с вашим ответом, но это не то, что я спрашивал.
cwd

2
Это не работает для меня. Я установил MAILTO в файл по умолчанию и перезапустил службу cron, но он все еще отправляет в root (я пытаюсь отправить на внешний адрес электронной почты)
peedee
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.