The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Является ли скрипт корректным?"
Отправлено skb7, 13-Авг-13 02:19 
>[оверквотинг удален]
>  ;;
> esac
> }
> test_site
> catt=$(cat cc)
>         if [ "$res" !=
> "$catt" ]; then
>            
> notify
>         fi

Опять же, вы проверяете на 1 вместо count.
Вот мой вариант скрипта (из моего предыдущего по времени сообщения) с учетом "no network":


#!/bin/sh

# "ip" can be passed from crontab or be read from some config file
ip=8.8.8.8
count=1
prev_is_site_up=0
cur_is_site_up=0
var_file=/tmp/prev-is-site-up

write_var() {
        echo -n "$1" > $var_file
}

read_var() {
        cat $var_file
}

# Returns: 0 - site is down, 1 - site is up, 2 - no network
test_site() {
    res=$(ping -c ${count} ${ip} | tail -2 | head -1 | awk '{print $4}') \
        2> /dev/null

    case "$res" in
    "")
        return 2
        ;;
    "$count")
        return 1
        ;;
    *)
        return 0
    esac
}

notify() {
    case "$1" in
    0)
        msg="The website is down"
        ;;
    1)
        msg="The website is up"
        ;;
    2)
        msg="No network"
        ;;
    esac

    echo "$msg" | festival --tts
}

do_site_check() {
    test_site
    cur_is_site_up=$?

    if [ ! -e $var_file ]; then
        write_var $cur_is_site_up
        notify $cur_is_site_up
        exit 0
    fi

    prev_is_site_up=$(read_var)
    if [ $cur_is_site_up -ne $prev_is_site_up ]; then
        write_var $cur_is_site_up
        notify $cur_is_site_up
    fi
}

do_site_check


 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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