|  | 
| 
Логика "попыток" 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?desktop=1&fid=25&tid=1481263]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 14ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 33ms | 
| get topic data: | 13ms | 
| get forum data: | 3ms | 
| get page messages: | 46ms | 
| get tp. blocked users: | 1ms | 
| others: | 234ms | 
| total: | 362ms | 

| 0 / 0 | 
