Скрипт для оповещения по почте, Степка, 19-Авг-03, 08:36 [смотреть все]Задача такая - выполнять оповещение при падении узлов. Необходимые узлы пингуются, если пинг не проходит, выполняется cat (для каждого узла свое сообщение, например "host 10.0.0.1 down") и с конвеера на mail. Скрипт работает, но как только его выполнение назначается cron - он почему-то начинает действовать неверно.#!/bin/sh # # Sam script ping -t 4 192.168.1.1 || (cat /home/user/msg | /home/user/bin/n1) Используемые файлы, применяются ввиду того, что рассылка должна производиться на разные адреса, с разными темами. # /home/user/msg warning! host 192.168.1.1 is down! # /home/user/bin/n1 mail -s Warning user@mailserwer.com Как я уже сказал, все работает при обычном запуске, как только за выполнение берется cron - почему-то скрипт действует так, будто узлы недоступны, то есть сообщения отправляются. |
- Скрипт для оповещения по почте, Степка, 09:09 , 19-Авг-03 (1)
Еще приходит письмо от демона Cron, следующего содержания: ping: not found
- Скрипт для оповещения по почте, Алексей, 09:46 , 19-Авг-03 (2)
>Еще приходит письмо от демона Cron, следующего содержания: >ping: not found Понятно дело... ping не в путях... Надо или в crontabe в первой строчке написать PATH=..... как положено или из скрипта вызввать ping написав его с полным путем до него.
- Скрипт для оповещения по почте, Степка, 09:51 , 19-Авг-03 (3)
>>Еще приходит письмо от демона Cron, следующего содержания: >>ping: not found > >Понятно дело... ping не в путях... Почему не в путях? echo $PATH первым делом /sbin выдает.
- Скрипт для оповещения по почте, Алексей, 10:03 , 19-Авг-03 (4)
>Почему не в путях? >echo $PATH первым делом /sbin выдает. А ты уверен, что он имено там? Например, в линуксе он в /bin (в Gentoo) А ты уверен, что, если скрипт выполняется не от рута, пользователь имеет доступ к нему?
- Скрипт для оповещения по почте, Степка, 10:08 , 19-Авг-03 (5)
>А ты уверен, что он имено там? >Например, в линуксе он в /bin (в Gentoo) >А ты уверен, что, если скрипт выполняется не от рута, пользователь имеет > >доступ к нему? Ну я поискал и нашел, он там. Не уверен ))). Указал полный путь, работает. Не подскажете, как сделать, чтобы crontab не присылал вывод отработанных команд.
- Скрипт для оповещения по почте, Алексей, 10:19 , 19-Авг-03 (6)
>Указал полный путь, работает. >Не подскажете, как сделать, чтобы crontab не присылал вывод отработанных команд. Перенаправте вывод скрипта в /dev/null :)) Крон присылает что-либо, только в случае если у скрипта есть вывод. Так же можно в самом начале crontab написать MAILTO=your@address для того что бы получать вывод крона на адрес, отличный от адреса юзера под которым выполняется крон.
|