|
Логика "попыток" bash
|
|||
---|---|---|---|
#18+
Есть скрипт, который каждую минуту проверяет состояние сайта: status=$(wget "site.ru" --timeout 30 -O - 2>/dev/null) if [[ -z "$status" ]]; then echo "site is down!" fi Как мне грамотно сделать так, чтобы echo выводилось только после 5-ти неудачных попыток? Есть вариант, конечно, с созданием временных файлов с записью числа попыток, но это не совсем лаконичное решение. Подскажите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2018, 05:13 |
|
Логика "попыток" bash
|
|||
---|---|---|---|
#18+
Можно минутное ожидание в цикле сделать, и там же счетчик попыток. При успехе счетчик обнуляется, при неудаче плюсуется, при "равно 5" выводится сообщение. Или можно воспользоваться готовым решением. Например, monit умеет делать подобное. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2018, 07:28 |
|
Логика "попыток" bash
|
|||
---|---|---|---|
#18+
vkle, На самом деле у меня огромный скрипт, который проверяет не только состояние сайта, но и множество других параметров. Если добавить цикл, то оно будет тормозить код, а выносить это в отдельный скрипт тоже как-то некрасиво. Неужели нет ничего попроще? monit, как написано, альтернатива cacti. С cacti знаком, но не понимаю причем он здесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 00:58 |
|
Логика "попыток" bash
|
|||
---|---|---|---|
#18+
andrey10monit, как написано, альтернатива cacti. С cacti знаком, но не понимаю причем он здесь.Демон monit выполняет всякие проверки, в том числе и сайта (пинг, код ответа вебсервера, отдаваемый контент). При обнаружении проблем выполняет заданные действия (команду, скрипт, уведомление на e-mail). Можно задать периодичность проверок (в общих настройках) и количество неудачных попыток (в задании). andrey10На самом деле у меня огромный скриптТады ой, вписать monit в скрипт вряд ли получится. Хотя, в принципе, можно попробовать забирать из него текущее состояние проверки сайта (норма/проблема), но сходу не подскажу как это сделать из скрипта. andrey10Неужели нет ничего попроще?Так понимаю, скрипт (увы, об этом ничего не сказано) запускается по крону и Вам требуется долговременное хранение некоторого значения между запусками скрипта. Что есть для этого - файл, база данных. Что еще есть подходящее? Экспорт в переменную окружения не вполне подходит. В базе можно хранить, но вряд ли оно будет проще, чем в файле. Или Ваш скрипт запускается единожды, и в нем уже есть цикл ожидания? Но тогда вопрос вряд ли возник бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2018, 07:51 |
|
|
start [/forum/topic.php?fid=25&fpage=10&tid=1481263]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 409ms |
0 / 0 |