LINUX.ORG.RU
ФорумAdmin

Скрипт проверки связи


0

0

Народ подскажите, сам не скриптописатель.

Нужно чтобы хост пинговал несколько узлов ( ну например www.ru aport.ru google.ru.....), и в случае не возможности пинга скидывал на почту отчет об этом. Как реализовать? Хотя бы костяк накидайте;)


#!/bin/sh

while true; do
  if ! ping -c 1 www.ru >/dev/null ; then
    mail -s 'Damn it' admin@localhost <(echo $(date +%H:%M:%S));
  fi
  sleep 5s
done

:)

Laz ★★★★★
()
Ответ на: комментарий от Laz

> mail -s 'Damn it' admin@localhost <(echo $(date +%H:%M:%S))
  date '+%H:%M:%S' | mail -s 'Damn it' admin@localhost

sdio ★★★★★
()
Ответ на: комментарий от sdio

Вот что получилось, что не так

[george@Gateway ~]$ ./test.sh ./test.sh: line 5: syntax error near unexpected token `(' ./test.sh: line 5: ` mail -s 'Damn it' root@localhost <(echo $(date +%H:%M:%S));'

anonymous
()
Ответ на: комментарий от anonymous

>Вот что получилось, что не так

>[george@Gateway ~]$ ./test.sh ./test.sh: line 5: syntax error near unexpected token `(' ./test.sh: line 5: ` mail -s 'Damn it' root@localhost <(echo $(date +%H:%M:%S));'

Да, точно, накалякал на скорую руку. Просто sh не знает про конструкцию <(cmd) . Либо замени #!/bin/sh на #!/bin/bash, либо воспользуйся вариантом sdio - date +%H:%M:%S | mail 'Damn it' admin@localhost

Laz ★★★★★
()
Ответ на: комментарий от sdio

>>(echo $(date +%H:%M:%S))
>будь проще, а то вон в толксах о индусокоде пишут, как бы и тебя там не помянули

Да погорячился чего-то.. (:

Laz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.