J'ai l'impression de passer à côté de l'évidence, mais je n'ai pas réussi à man [curl|wget]
ou Google (le terme "http" n'est pas un bon critère de recherche). Je suis à la recherche d'une solution rapide pour l'un de nos serveurs Web qui échoue fréquemment, renvoyant le code d'état 500 avec un message d'erreur. Une fois que cela se produit, il doit être redémarré.
Comme la cause fondamentale semble difficile à trouver, nous cherchons une solution rapide, en espérant qu'elle suffira à combler le temps jusqu'à ce que nous puissions vraiment la réparer (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, vérifiant http://localhost:8080/ . Si le code d'état 500 est renvoyé, le serveur Web sera redémarré. Le serveur sera redémarré en moins d'une minute, il n'est donc pas nécessaire de vérifier si des redémarrages sont déjà en cours.
Le serveur en question est une installation minimale ubuntu 8.04 avec juste assez de paquets installés pour faire fonctionner ce dont il a besoin actuellement. Il n'y a pas d'exigence stricte pour effectuer la tâche en bash, mais j'aimerais qu'elle fonctionne dans un tel environnement minimal sans installer d'autres interpréteurs.
(Je suis suffisamment familier avec les scripts pour que la commande/les options permettant d'assigner le code d'état http à une variable d'environnement soient suffisantes - c'est ce que j'ai cherché et que je n'ai pas trouvé).