[mdk-re] Re: Подозрительные сообщения...

Mikhail Zabaluev =?iso-8859-1?q?mhz_=CE=C1_alt-linux=2Eorg?=
Вт Окт 16 12:10:01 MSD 2001


Hello cornet,

On Tue, Oct 16, 2001 at 10:35:34AM +0400, cornet wrote:
>
> Дело в том, что хотя письма Вам присылает cron, но ошибки
> возникают _не_ в нем! Крон это всего лишь транслятор, который
> запускает указанные в его конфиге приложения и сечет их
> стандартный поток ошибок - STDERR. И если в этом потоке в
> процессе исполнения приложения хоть что то появляется - cron
> отправляет Вам это все на локальное мыло.
> Прошу заметить, что STDERR это вовсе НЕ обязательно оменно
> ошибки! Это могут быть и диагностические сообщения, которым не
> место в стандартнов выводе - STDOUT.
> Вот например, у меня на сервере каждый день winbind
> перестартовывает по причине утечек памяти в ём любимом. Я его на
> cron посадил вот такой строчкой в /etc/crontab
> 0 3 * * * root /sbin/service winbind restart
> и я задолбался каждое утро читать в системном мыле что:
> Service Winbind restart    [Ok]
> проблемму решил просто - подправил вызов:
> 0 3 * * * root /sbin/service winbind restart > /dev/null 2>&1
> и STDERR и STDOUT все направил в /dev/null теперь cron не
> получает ни байта от запускаемого им рестарта winbind и писем не
> шлет ;-)
> 
> Но только внимание!! Так можно действовать ТОЛЬКО в том случае,
> если Вы четко уверены в том, что у Вас данный пункт cron'а
> отработает как надо. В противном случае я бы советовал не
> пренебрегать диагностическими письмами. А в процессе отладки это
> вообще просто кладезь знаний о процессах, происходящих в системе.
> :-))

Можно сохранять stderr во временном файле или переменной shell
и смотреть на код возврата команды. Если не 0, то выдать ошибки
в поток ошибок cron.

-- 
Stay tuned,
  MhZ                                     JID: mookid на jabber.org
___________
All I ask is a chance to prove that money can't make me happy.




Подробная информация о списке рассылки community