Proxy dështon një herë. Kërkesat e mëvonshme kanë sukses, por mbikëqyrësi vazhdon të njoftojë një dështim tjetër. Kontrolloni nëse skripti e mbajti mend statusin e daljes së djeshme.

Ky model e përditëson variablin vetëm kur curl dështon:

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

Pas rezultatit të parë jo zero, një përsëritje e suksesshme e lë status të paprekur. Ai nuk bëhet zero vetëm sepse curl pati sukses.

Në vend të kësaj, degëzoni mbi komandën aktuale:

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 dhe kohët janë ilustruese. Kjo heq variablin e vjetëruar; nuk vendos se cili veprim rikuperimi është i përshtatshëm.

Mbajeni vëzhgimin të ngushtë. Kërkesa varet nga proxy, rruga e mëtejshme, destinacioni, verifikimi TLS dhe rezultati HTTP. Një ndërprerje në objektiv mund ta dështojë atë ndërsa shërbimi SOCKS është i shëndetshëm. Një faqe e papritur HTTP 200 gjithashtu mund të kalojë një kontroll vetëm mbi statusin pa ofruar përmbajtjen e pritur.

Zgjidhni një kontratë të kontrolluar përgjigjeje dhe ruani fazën e dështimit. Rinisja e proxy për çdo rezultat curl jo zero mund të prishë sesione të shëndetshme ndërsa problemi i vërtetë i destinacionit mbetet i paprekur.

Artikuj të ngjashëm