Ho la sensazione che mi manchi l'ovvio, ma non ci sono riuscito man [curl|wget]
o google ("http" rende un termine di ricerca così brutto). Sto cercando una soluzione rapida e sporca a uno dei nostri server Web che spesso fallisce, restituendo il codice di stato 500 con un messaggio di errore. Una volta che ciò accade, deve essere riavviato.
Poiché la causa principale sembra essere difficile da trovare, puntiamo a una soluzione rapida, sperando che sia sufficiente a colmare il tempo fino a quando non saremo davvero in grado di risolverlo (il servizio non ha bisogno di alta disponibilità)
La soluzione proposta è quella di creare un processo cron che viene eseguito ogni 5 minuti, controllando http: // localhost: 8080 / . Se questo ritorna con il codice di stato 500, il server web verrà riavviato. Il server si riavvierà tra meno di un minuto, quindi non è necessario verificare la presenza di riavvii già in esecuzione.
Il server in questione è un'installazione minima di Ubuntu 8.04 con i pacchetti appena sufficienti installati per eseguire ciò di cui ha attualmente bisogno. Non è necessario eseguire l'attività in bash, ma mi piacerebbe che funzionasse in un ambiente così minimale senza installare altri interpreti.
(Conosco abbastanza bene gli script che il comando / opzioni per assegnare il codice di stato http a una variabile d'ambiente sarebbe sufficiente - questo è quello che ho cercato e che non sono riuscito a trovare.)