Ожидалось, что будет mailto
атрибут, но этот источник отрицает это
cron { 'resource title': name => # (namevar) The symbolic name of the cron job. This name is ensure => # The basic property that the resource should be... command => # The command to execute in the cron job. The... environment => # Any environment settings associated with this... hour => # The hour at which to run the cron job. Optional; minute => # The minute at which to run the cron job... month => # The month of the year. Optional; if specified... monthday => # The day of the month on which to run the... provider => # The specific backend to use for this `cron... special => # A special value such as 'reboot' or 'annually'... target => # The name of the crontab file in which the cron... user => # The user who owns the cron job. This user must... weekday => # The weekday on which to run the command... # ...plus any applicable metaparameters. }
В документации не указано, поддерживается ли mailto, например:
Окружающая среда
(Свойство: этот атрибут представляет конкретное состояние целевой системы.)
Любые настройки среды, связанные с этим заданием cron. Они будут храниться между заголовком и заданием в crontab. Не может быть никаких гарантий, что другие, более ранние настройки также не повлияют на данное задание cron.
Кроме того, Puppet не может автоматически определить, связана ли существующая неуправляемая среда с заданным заданием cron. Если у вас уже есть задания cron с настройками среды, Puppet сохранит эти настройки в том же месте в файле, но не будет связывать их с конкретным заданием.
Настройки должны быть указаны точно так, как они должны отображаться в crontab, например, PATH = / bin: / usr / bin: / usr / sbin.
Вы можете использовать модуль из puppet forge для управления cron и добавления переменных среды в задание cron. Я использовал вот этот, может быть другие.
Ты можешь сделать это
cron::job {
'mysqlbackup':
minute => '40',
hour => '2',
date => '*',
month => '*',
weekday => '*',
user => 'root',
command => 'mysqldump -u root mydb',
environment => [ 'MAILTO=root', 'PATH="/usr/bin:/bin"' ];
}
Который, помимо прочего, устанавливает переменные среды MAILTO и PATH.
Встроенный кукольный тип cron
как указано в вопросе, имеет свойство с именем environment
которые можно использовать для установки переменных среды для управляемого задания cron.
В этом случае это будет выглядеть так, установив MAILTO
переменная для foobar
так что вывод cronjob будет отправлен пользователю foobar
:
cron { 'some-cron-job':
...
environment => 'MAILTO=foobar',
}
cron
отправляет вывод пользователю, выполняющему задание. Если вы хотите перенаправить почту, есть несколько вариантов.
procmail
или другая программа для перенаправления сообщения при его доставке в почтовый ящик пользователя.