પ્રોક્સી એક વાર નિષ્ફળ જાય છે. પછીની વિનંતીઓ સફળ થાય છે, છતાં દેખરેખ કરનાર વધુ એક નિષ્ફળતાની જાહેરાત કરતું રહે છે. સ્ક્રિપ્ટે ગઈકાલની એક્ઝિટ સ્થિતિ યાદ રાખી હતી કે નહીં તે તપાસો.

આ પેટર્ન ચલને ફક્ત ત્યારે જ અપડેટ કરે છે જ્યારે 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 પરિણામે પ્રોક્સી ફરી શરૂ કરવાથી સ્વસ્થ સત્રો ખલેલ પામી શકે છે, જ્યારે ખરું લક્ષ્ય સમસ્યા અસ્પૃશ્ય રહે છે.

સંબંધિત લેખો