powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Логика "попыток" bash
5 сообщений из 5, страница 1 из 1
Логика "попыток" bash
    #39701192
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть скрипт, который каждую минуту проверяет состояние сайта:

status=$(wget "site.ru" --timeout 30 -O - 2>/dev/null)
if [[ -z "$status" ]]; then
echo "site is down!"
fi

Как мне грамотно сделать так, чтобы echo выводилось только после 5-ти неудачных попыток? Есть вариант, конечно, с созданием временных файлов с записью числа попыток, но это не совсем лаконичное решение. Подскажите, пожалуйста.
...
Рейтинг: 0 / 0
Логика "попыток" bash
    #39701212
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно минутное ожидание в цикле сделать, и там же счетчик попыток. При успехе счетчик обнуляется, при неудаче плюсуется, при "равно 5" выводится сообщение.

Или можно воспользоваться готовым решением. Например, monit умеет делать подобное.
...
Рейтинг: 0 / 0
Логика "попыток" bash
    #39701772
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

На самом деле у меня огромный скрипт, который проверяет не только состояние сайта, но и множество других параметров. Если добавить цикл, то оно будет тормозить код, а выносить это в отдельный скрипт тоже как-то некрасиво. Неужели нет ничего попроще?

monit, как написано, альтернатива cacti. С cacti знаком, но не понимаю причем он здесь.
...
Рейтинг: 0 / 0
Логика "попыток" bash
    #39701807
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10monit, как написано, альтернатива cacti. С cacti знаком, но не понимаю причем он здесь.Демон monit выполняет всякие проверки, в том числе и сайта (пинг, код ответа вебсервера, отдаваемый контент). При обнаружении проблем выполняет заданные действия (команду, скрипт, уведомление на e-mail). Можно задать периодичность проверок (в общих настройках) и количество неудачных попыток (в задании).

andrey10На самом деле у меня огромный скриптТады ой, вписать monit в скрипт вряд ли получится. Хотя, в принципе, можно попробовать забирать из него текущее состояние проверки сайта (норма/проблема), но сходу не подскажу как это сделать из скрипта.

andrey10Неужели нет ничего попроще?Так понимаю, скрипт (увы, об этом ничего не сказано) запускается по крону и Вам требуется долговременное хранение некоторого значения между запусками скрипта. Что есть для этого - файл, база данных. Что еще есть подходящее? Экспорт в переменную окружения не вполне подходит. В базе можно хранить, но вряд ли оно будет проще, чем в файле.

Или Ваш скрипт запускается единожды, и в нем уже есть цикл ожидания? Но тогда вопрос вряд ли возник бы.
...
Рейтинг: 0 / 0
Логика "попыток" bash
    #39704197
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Скрипт запускается по крону раз в минуту. Идея с переменными окружения неплохая)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Логика "попыток" bash
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]