Данный скрипт просто пингует указанный вами хост, и в зависимости от результатов может выполнить определенный ряд команд, очень часто мною использовался при создании других скриптов, например скрипта который подымает ppp туннели в случаи их падения, да и многих других.
#!/bin/bash # # имя хоста или IP HOSTS="teaseo.ru" # Количество запросов COUNT=4 for myHost in $HOSTS do count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }') if [ $count -eq 0 ]; then # 100% failed echo "Host : $myHost is down (ping failed) at $(date)" fi done
Влад says:
Здравствуйте! Что нужно сделать, чтоб пропинговать несколько хостов? Смысл такой, что если один хост не отвечает, это не значит что интернета нет, поэтому пропинговать следующий и т.д. Как только какой-нибудь хост ответил, то интернет есть. Я так понимаю, что нужно вокруг этого цикла организовать ещё один с перебором имён хостов?
Влад says:
Пока сделал так:
…
HOST1=»ya.ru»
HOST2=»google.ru»
HOST3=»domru.ru»
…
for myHost in $HOST1 $HOST2 $HOST3
…
Вроде работает.