Bash Ping Скрипт

Данный скрипт просто пингует указанный вами хост, и в зависимости от результатов может выполнить определенный ряд команд, очень часто мною использовался при создании других скриптов, например скрипта который подымает ppp туннели в случаи их падения, да и многих других.

#!/bin/bash
#
# имя хоста или IP
HOSTS="eddnet.org"
# Количество запросов
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

Случайные Статьи

Loading…


Количество просмотров :7607

3 Comments

  1. Влад:

    Здравствуйте! Что нужно сделать, чтоб пропинговать несколько хостов? Смысл такой, что если один хост не отвечает, это не значит что интернета нет, поэтому пропинговать следующий и т.д. Как только какой-нибудь хост ответил, то интернет есть. Я так понимаю, что нужно вокруг этого цикла организовать ещё один с перебором имён хостов?

    • Влад:

      Пока сделал так:

      HOST1=»ya.ru»
      HOST2=»google.ru»
      HOST3=»domru.ru»

      for myHost in $HOST1 $HOST2 $HOST3

      Вроде работает.

  2. Evgeniy:

    ping «$HOST_IP» -c 3 -n -q -i 0.3 -w 3 > /dev/null
    if [ $? -ne «0» ]
    # Если возникла ошибка (хост не доступен)
    then
    echo «HOST DOWN»
    # Если же всё хорошо
    else
    echo «HOST UP»
    fi

Оставьте коментарий