Wie verwalte ich einen lang laufenden Serverprozess unter Ubuntu?

Wie verwalte ich einen lang laufenden Serverprozess unter Ubuntu?

Ich habe eine App (in Form einer einzelnen Binärdatei), die ich auf einem meiner Server ausführen muss, und ich möchte ihren Lebenszyklus ordnungsgemäß steuern können. Ich hätte gerne Folgendes:

  • einfacher Start/Stopp/Neustart mit einem Befehl
  • so wenig Konfiguration wie möglich, ich möchte keine großen Dinge wie Monit einrichten oder 500 Zeilen Shell-Skripte schreiben
  • Verarbeiten Sie stdout/stderr/Fehler in einer Protokolldatei
  • Verwalten Sie eine PID-Datei so, dass nur dann eine PID-Datei vorhanden ist, wenn der Prozess ausgeführt wird (dies scheint manuell mit Shell-Skripten wirklich schwierig zu bewerkstelligen)
  • (Optional)etwas tun können, wenn die Binärdatei abstürzt
  • (Optional)automatisch starten, wenn der Server neu startet und/oder die Anwendung abstürzt

Ich suche nach einer einfachen Lösung, die im Idealfall sofort und ohne großen Konfigurationsaufwand mit Ubuntu Server funktioniert.

Antwort1

Für Ubuntu, denke ich,Emporkömmlingist, was Sie suchen.

https://askubuntu.com/questions/19320/how-to-enable-or-disable-services Diese AskUbuntu-Frage bietet hervorragende Informationen zum Einstieg in das, was Sie tun.

Kurz gesagt, kopieren Sie Folgendes nach /etc/init/mybinary.conf.

description "My Binary"
author      "Jakub Arnold <[email protected]>"

start on (local-filesystems and net-device-up)
stop on runlevel [!2345]

respawn

pre-start script
   RUN_MODE="daemons"

end script

exec mybinary

Damit sollten Sie mit Folgendem loslegen können:

  • Diensteverwaltung mit „service mybinary start/stop/status“
  • PID-Dateiverwaltung
  • Respawn bei Absturz
  • beim Booten ausführen
  • Protokollierung unter /var/log/upstart/mybinary.log

Das Upstart-Kochbuch enthält alle Informationen, die Sie benötigen:http://upstart.ubuntu.com/cookbook/

Nebenbei möchte ich erwähnen, dass Ubuntu plant, Upstart zugunsten von Systemd einzustellen, es gibt jedoch keinen Plan dazu.

verwandte Informationen