Proxy bir dəfə uğursuz olur. Sonrakı sorğular uğurlu olur, lakin nəzarətçi yenə də başqa uğursuzluq elan edir. Skriptin dünənki çıxış statusunu yadda saxlayıb-saxlamadığını yoxlayın.

Bu nümunə dəyişəni yalnız curl uğursuz olduqda yeniləyir:

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

İlk sıfırdan fərqli nəticədən sonra uğurlu təkrar status dəyişənini toxunulmaz qoyur. Yalnız curl uğurlu olduğu üçün o, sıfıra çevrilmir.

Əvəzində cari əmri əsas götürün:

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

Ünvan və vaxtlar nümunəvidir. Bu, köhnə dəyişəni aradan qaldırır; hansı bərpa tədbirinin uyğun olduğunu müəyyən etmir.

Müşahidəni dar saxlayın. Sorğu proxydən, sonrakı marşrutdan, təyinatdan, TLS yoxlamasından və HTTP nəticəsindən asılıdır. Hədəfdə kəsinti SOCKS xidməti sağlam ikən onu uğursuz edə bilər. Gözlənilməz HTTP 200 səhifəsi də yalnız statusa əsaslanan yoxlamadan keçə bilər gözlənilən məzmunu təqdim etmədən.

Nəzarətli cavab müqaviləsi seçin və uğursuzluq mərhələsini saxlayın. Hər sıfırdan fərqli curl nəticəsində proxy-ni yenidən başlatmaq sağlam sessiyaları poza bilər, real təyinat problemi isə toxunulmaz qalır.

Əlaqəli məqalələr