Das neue CentOS 6 kommt mit Upstart und ersetzt init. Ich versuche, eine / etc / inittab-Datei in das neue Upstart-Format zu konvertieren. Dieser bestimmte Server hat nur ungefähr 15 inittab-Einträge, andere Server haben jedoch> 30. Wir wollen hauptsächlich den 'Respawn'-Teil von Inittab und Emporkömmling. Ich habe jedoch die gesamte Dokumentation zu Emporkömmlingen gelesen, die ich finden kann (die so ziemlich ALLES auf Ubuntu und anscheinend auf einer älteren Version von Emporkömmling basiert), und bin nicht weitergekommen. Ich kann eine Konfigurationsdatei erstellen (nennen wir sie /etc/init/test.conf). Die Datei enthält diese (Hinweis, anonymisiert)
start on runlevel [345]
stop on starting shutdown
respawn
#Comment about what it does
exec su -c "/usr/bin/ssh -2CNL 11111:127.0.0.1:11111 10.10.1.1" username
Wenn ich einen initctl reload-configuration
stelle, wird der Job erkannt. Ich kann es durch einen Anruf starten initctl start test
und der Job wird gestartet.
Dies funktioniert jedoch nicht bei einem Neustart, sondern nur manuell. Ich habe versucht, den Startbefehl wie folgt zu ändern, ohne Erfolg
start on started
start on (local-filesystems and net-device-up IFACE!=lo)
start on net-device-up IFACE=eth0
und ungefähr ein Dutzend anderer Möglichkeiten, die ich in verschiedenen Beispielen erwähnen konnte. Keiner scheint das Skript zu starten. (test.conf gehört wie alle anderen Dateien in diesem Ordner root und 644)
Fehlt mir etwas auffällig Offensichtliches?
Entschuldigung für die Nekropostierung, aber ich konnte das Problem folgendermaßen lösen:
"Angehalten" ist kein Tippfehler, der beim Betreten eines Runlevels anzuhalten scheint.
quelle
Dies ist, was ich getan habe (CentOS 6, Upstart 0.6.5), um Respawn-Probleme zu beheben. Tun Sie dies in einem anderen Terminal
quelle