bonjour,

je cherche à écrire un petit site pour vérifier si un site fonctionne ou pas. Dans mon test, je regarde donc le code retourné par la page (200 si tout se passe bien) et le temps de réponse. Je veux relancer mon serveur si le code est différent de 200 ou le temps de réponse supérieur à 5 secondes. Je fais donc le test suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
if [ $HTTP_CODE -ne 200 -o $TIME_TOTAL -gt $2 ]
then
  HOUR=`date +%Y-%m-%d\ %H:%M:%S`
  /bin/echo "$HOUR CHECK FAILED: $1 code $HTTP_CODE time $TIME_TOTAL (max $2)"
  /bin/echo "$HOUR CHECK FAILED: $1 code $HTTP_CODE time $TIME_TOTAL (max $2)" >> $LOG_FILE
  mail -s "SITE DOWN" $MAIL < $LOG_FILE
  /etc/init.d/php5-fpm restart
  exit 2
else
  HOUR=`date +%Y-%m-%d\ %H:%M:%S`
  /bin/echo "$HOUR CHECK SUCCEEDED: $1 code $HTTP_CODE time $TIME_TOTAL (max $2)"
  /bin/echo "$HOUR CHECK SUCCEEDED: $1 code $HTTP_CODE time $TIME_TOTAL (max $2)" >> $LOG_FILE
fi
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
HTTP_CODE=`/bin/echo $CURL_RETURN | cut -d: -f1`
TIME_TOTAL=`/bin/echo $CURL_RETURN | cut -d: -f2 | sed -e s/,//`
Je ne sais pas pourquoi mon test ne fonctionne pas, je vois dans les logs des cas ou le code était 502 et malgré tout il dit que le site fonctionne.

Saez vous d'ou vient le probleme?