Mam wrażenie, że brakuje mi tego, co oczywiste, ale nie udało mi się man [curl|wget]
ani google („http” sprawia, że wyszukiwane hasło jest złe). Szukam szybkiego i brudnego rozwiązania dla jednego z naszych serwerów, który często się nie udaje, zwracając kod stanu 500 z komunikatem o błędzie. Gdy to się stanie, należy go ponownie uruchomić.
Ponieważ podstawowa przyczyna wydaje się być trudna do znalezienia, dążymy do szybkiej naprawy, mając nadzieję, że wystarczy czasu, aby naprawdę ją naprawić (usługa nie wymaga wysokiej dostępności)
Proponowanym rozwiązaniem jest utworzenie zadania cron, które będzie uruchamiane co 5 minut, sprawdzając http: // localhost: 8080 / . Jeśli to zwróci kod stanu 500, serwer WWW zostanie zrestartowany. Serwer uruchomi się ponownie za niecałą minutę, więc nie ma potrzeby sprawdzania, czy restart już działa.
Serwer, o którym mowa, to minimalna instalacja Ubuntu 8.04 z zainstalowanymi wystarczającymi pakietami, aby uruchomić to, czego aktualnie potrzebuje. Nie ma twardego wymagania, aby wykonać zadanie w bash, ale chciałbym, aby działało w tak minimalnym środowisku bez instalowania żadnych interpreterów.
(Jestem wystarczająco zaznajomiony ze skryptami, że wystarczy polecenie / opcje przypisania kodu stanu HTTP do zmiennej środowiskowej - tego szukałem i nie mogłem znaleźć).