В моем файле /etc/cron.d/apache2watch есть следующая строка
* * * * * root /bin/apache2-restart.sh &> /dev/null
В настоящее время я получаю сотни писем в root из-за этого. Я не знаю, почему root все еще получает почту каждую секунду или около того, говоря мне, что задание cron было запущено - хотя я явно перенаправил выходные данные на / dev / null
Может ли кто-нибудь объяснить, почему root продолжает получать почту и как я могу изменить это поведение?
Я работаю на Ubuntu 10.04 LTS
Вставить MAILTO=""
прежде чем вы сделаете crontab.
Вы все еще получаете электронные письма, вероятно, потому, что вы перенаправили только стандартный вывод на / dev / null. Ваш сценарий оболочки, вероятно, тоже записывает в stderr, поэтому правильное перенаправление будет таким:
* * * * * root /bin/apache2-restart.sh > /dev/null 2>&1
почему бы вам не установить MAILTO = "" в crontab 'root' конкретного пользователя. Это отключит регистрацию почтовых сообщений в / var / spool / mail /
Вы перенаправили выходные данные в / dev / null, но только если вы используете bash в качестве оболочки crontab. Я считаю, что по умолчанию вы будете использовать / bin / sh.
Чтобы исправить это, я бы порекомендовал решение Тора:
* * * * * root /bin/apache2-restart.sh > /dev/null 2>&1
Другое решение - изменить CRON для использования bash, поместив это в начало вашей записи crontab:
SHELL=/bin/bash