Прокси једном закаже. Каснији захтеви успеју, али надзорник и даље објављује нови неуспех. Проверите да ли је скрипта запамтила јучерашњи излазни статус.

Овај образац ажурира променљиву само када curl закаже:

status=0
# Repeated inside a loop:
curl ... || status=$?

Након првог резултата различитог од нуле, успешна итерација оставља status нетакнутим. Не постаје нула само зато што је curl успео.

Уместо тога гранајте на тренутну наредбу:

if curl --proxy socks5h://127.0.0.1:1080 --noproxy '' \
    --fail --silent --show-error --connect-timeout 3 --max-time 10 \
    https://health.example/ >/dev/null; then
    echo "check succeeded"
else
    echo "check failed"
fi

Адреса и времена су илустративни. Ово уклања застарелу променљиву; не одлучује која је мера опоравка прикладна.

Нека посматрање буде уско. Захтев зависи од проксија, даље руте, одредишта, TLS провере и HTTP исхода. Прекид на циљу може га оборити док је SOCKS услуга здрава. Неочекивана HTTP 200 страница такође може проћи проверу само статуса без пружања очекиваног садржаја.

Изаберите контролисани уговор о одговору и задржите фазу неуспеха. Поновно покретање проксија при сваком curl резултату различитом од нуле може пореметити здраве сесије, док стварни проблем одредишта остаје нетакнут.

Повезани чланци