Comment évaluer les codes de réponse http à partir de bash/shell script?

J'ai le sentiment que je suis absent ce qui est évident, mais n'ont pas réussi à man [curl|wget] ou de google ("http" fait une mauvaise terme de recherche). Je suis à la recherche d'un rapide&sale fixer à l'un de nos serveurs web qui, souvent, ne, retourner le code d'état de 500 avec un message d'erreur. Une fois que cela arrive, il doit être redémarré.

Comme la cause semble être difficile à trouver, nous visons une solution rapide, en espérant que cela sera suffisant pour combler le temps jusqu'à ce que l'on peut vraiment résoudre (le service n'a pas besoin de haute disponibilité)

La solution proposée est de créer une tâche cron qui s'exécute toutes les 5 minutes, en vérifiant http://localhost:8080/. Si cela renvoie avec le code d'état 500, le serveur va être redémarré. Le serveur va redémarrer en moins d'une minute, il n'ya donc pas besoin de vérifier pour les redémarrages déjà en cours d'exécution.

Le serveur en question est une ubuntu 8.04 installation minimale avec juste assez de paquets installé pour exécuter ce qu'elle a besoin. Il n'y a aucune obligation de faire la tâche en bash, mais j'aimerais qu'il lancer dans un tel environnement minimal sans avoir à installer de plusieurs interprètes.

(Je suis suffisamment familiarisé avec l'écriture de scripts de commande/d'options à attribuer le code de statut http à une variable d'environnement serait assez - c'est ce que j'ai cherché et ne pouvait pas trouver.)

InformationsquelleAutor Olaf Kock | 2010-02-08