Wie schreibe ich ein fehlersicheres Upstart-Skript, das eine Anwendung mit den erforderlichen Berechtigungen startet?

3713
Journeyman Geek

Ich plane, einen Server mit Ubuntu Lucid Lynx einzurichten, der Upstart verwendet. Ich finde die Dokumentation nicht zu intuitiv, daher möchte ich nach einer Lösung für mein spezielles Problem fragen.

Ich verwende derzeit ein Skript, um meinen IPv6- Tunnel mit Freenet6 / gogo6 zu starten. Im Moment ist es ein einfaches Skript, das einen einzelnen Befehl aufruft, und dessen Konfigurationsdatei:

 #! /bin/sh /usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf 

Wenn dies untergeht, neigt es natürlich dazu, leise zu sein, und deshalb muss ich rein und neu starten.

Ich möchte ein Upstart-Skript einrichten

  1. Starten Sie diese Anwendung beim Start, funktional identisch mit dem Skript, das ich habe
  2. Starten Sie dieses Skript erneut als "root", falls die Anwendung fehlschlägt
  3. Erlaube mir, den Tunnel neu zu starten, falls etwas schief geht.
1

1 Antwort auf die Frage

2
Journeyman Geek

The below script works on upstart on Ubuntu Lucid Lynx alpha 3

respawn console none start on (local-filesystems and net-device-up IFACE=eth0) stop on [!12345] script chdir /usr/local/gw6c/bin/ exec /usr/local/gw6c/bin/gw6c end script