как подавить вывод сообщений от крона в мыло рута
GNU/Linux, UNIX, Open Source → Программное обеспечение
dmitriy_
написал 18 сентября 2007 года в 18:29 (2086 просмотров)
Ведет себя
неопределенно; открыл 24 темы в форуме, оставил 63 комментария на сайте.
В кроне запускается самописный скрипт от имени рута. Этот скрипт выполняет единственное действие — архивацию некоторых файлов, но почему-то при этом все ссобщения архиватора со стандартного выхода падают в ящик рута и тем самым засоряют его.
Как бы мне избавиться от этих сообщений?
PS: FreeBSD 6.2
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
* * * * * /path/to/script bla-bla bla &> /dev/null
в crontab у меня такая строка
0 * * * * root /root/my/bak/forum_bak.sh > /dev/null
а в скрипте forum_bak.sh
tar --create -z --file=${archname} --verbose ${list} > /dev/null
и все равно сообщения тара со стандартного выхода валятся в мыло
* * * * * /path/to/script bla-bla bla 1>/dev/null 2>&1
Эээ.. Так сообщения tar’а или всё-таки cron’а о том, что он выполнил задачу (скрипт с tar’ом)?
tar выводит на stderr.
читать и пользовать приведённые команды, от меня или от Master
И всё равно есть некоторые сомнения. В плане, «сообщения тара со стандартного выхода валятся в мыло». Ни stdout, ни stderr, а «мыло», мужики. «МЫЛО».
эээээ… вот от кого, так от тебя подобного ожидал меньше всего…
cron, запускаючи команду по настроенному правилу, перехватывает stdout и stderr и, если там хоть что-то есть, отправляет на почтовый аккаунт пользователя-владельца задачи. это может быть либо локальный системный почтовый ящик, либо тот, что указан в переменной MAIL.
то есть марш читать man crontab
MAILTO= указыват, например, /dev/null, но это никак не помогало.
вернее, помогало, но не совсем :), так как после казания такого ящика правила, прописанные cron, вообще не отрабатывались.
=)
Ладно, зайду с другой стороны ;). Тебя никак не настораживает то, что автор весь вывод завернул в /dev/null, однако сообщения упорно падают в «мыло»?
Ну, и в качестве придирки. Нету в этом man ничего, подбного рассказанному тобой абзацем выше ;).
не весь. только stdout:
ну прочитай соотстветствующие man 5 crontab и man cron, в одном из них это должно быть описано
например:
А, т.е. ты предполагаешь, что под «все сообщения архиватора» подразумевались сообщения об ошибках. Что ж, возможно.
Но вообще, изначально я намекал на переменную 'MAILTO’, которую надо явно указать в crontab и при этом оставить пустым её значение (MAILTO="»), после чего cron не будет надоедать сообщениями в «мыло».
Да, за лекцию по cron всё равно спасибо ;)).
Ага.
Самое весёлое когда при запуске команды с окончанием
Вывод на экран полностью не подавляется.
… идти курить man bash
от перемены мест слага^Wперенаправления результат изменяется
правильно: >/dev/null 2>&1
не сильно я уверен, что выставление в пустое значение этой переменной может помочь. но, как бы то ни было, попробовать стоит :)
вот только ощущение, что тема интересна уже только нам :D
да не за что, приходите ещё
Поможет, поможет ;). Только надо понимать, что таким способом посылка в почту результатов выполнения команд для хозяина crontab (в данном случае root) отключится вообще.
Мы ж на никспе, тут это в порядке вещей =).
не вообще, а только для задач, описанных после этой опции.
что не есть очень хорошо.. то есть, что это в порядке вещей быть интересно только нам.
«Вообще» — в смысле, независимо от результата выполнения.
«В порядке вещей» — это пофлеймить подушам ;)
Что-то у нас с тобой сегодня неконтакт какой-то…
вот это помогло
вместо MAILTO=root написать MAILTO="»
в openSUSE 10.2 это не помогает.
поэтому я требую продолжения «банкета». :)
тема интересна не только Genie & fly4life. вы еще, флудерасты, про создателя темы забыли.
Работает ;). Только что проверил.
Я тоже с интересом читаю:)
ага, есть такое..
я не зря написал после :)
то есть тебе никто не запрещает настроить одно мыло для одних задач, а второе — для других, и так в порядке записи правил ;)
то есть эффект от этой опции есть только для нижеследующих задачах.
потому, видимо, у Dr.Evil-а и не работало.
У Эвила эта опция была в самом начале crontab (так по умолчанию в opensuse 10.2). А не работало из-за того, что, скорее всего, он выставлял значение 'MAILTO=' (т.е. без пары двойных кавычек после знака равенства).