The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Скрипт для оповещения по почте, !*! Степка, 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 для того
              что бы получать вывод крона на адрес, отличный от адреса юзера под
              которым выполняется крон.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру