Proxy jednom zakaže. Kasniji zahtjevi uspiju, ali nadzornik i dalje objavljuje novi neuspjeh. Provjerite je li skripta zapamtila jučerašnji izlazni status.

Ovaj obrazac ažurira varijablu samo kada curl zakaže:

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

Nakon prvog rezultata različitog od nule, uspješna iteracija ostavlja status netaknutim. Ne postaje nula samo zato što je curl uspio.

Umjesto toga granajte na trenutnu naredbu:

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

Adresa i vremena su ilustrativni. Ovo uklanja zastarjelu varijablu; ne odlučuje koja je mjera oporavka prikladna.

Neka promatranje bude usko. Zahtjev ovisi o proxyju, daljnjoj ruti, odredištu, TLS provjeri i HTTP ishodu. Prekid na cilju može ga oboriti dok je SOCKS usluga zdrava. Neočekivana HTTP 200 stranica također može proći provjeru samo statusa bez pružanja očekivanog sadržaja.

Odaberite kontrolirani ugovor o odgovoru i zadržite fazu neuspjeha. Ponovno pokretanje proxyja pri svakom curl rezultatu različitom od nule može poremetiti zdrave sesije, dok stvarni problem odredišta ostaje netaknut.

Povezani članci