Я настроил задания Cron для запуска внутри среды Chroot в зависимости от пользователя/группы;
Я заметил, что эти задания cron, запущенные внутри среды chroot, не отправляют почту.
В файлах журнала сообщается, что не удается найти программу для отправки почты.
Где процесс Cron ищет двоичный файл почты по умолчанию? Можно ли задать или настроить этот путь?
и еще одно замечание.. если переменная MAILTO= не задана, как Cron узнает, куда отправлять почту? он просто отправляет почту пользователю, запустившему задание, на локальном хосте?
Спасибо!
решение1
Где процесс Cron ищет двоичный файл почты по умолчанию?
Если не указано иное, я почти уверен, что он просто использует почтовую программу, которую находит в пути (/bin:/usr/bin). Вы можете указать -m
аргумент командной строки для некоторых версий cron
-m Эта опция позволяет указать строку команды оболочки, которая будет использоваться для отправки вывода cron mail вместо sendmail(8). Эта команда должна принимать полностью отформатированное почтовое сообщение (с заголовками) на stdin и отправлять его как почтовое сообщение получателям, указанным в заголовках почты.
Вышеуказанное работает на CentOS/RHEL, Ubuntu выглядит иначе
Можете ли вы установить или настроить этот путь?
См. выше.
если переменная MAILTO= не установлена...
Если MAILTO не задано, то, как вы предполагаете, почта будет доставлена локальному пользователю, который выполняет задание.
В CentOS/RHEL вы можете указать дополнительные аргументы командной строки в /etc/sysconfig/crond, чтобы вам не пришлось редактировать ваши скрипты инициализации. Другие ОС/дистрибутивы могут предоставлять схожую функциональность.