EC2 Linux alle Startaufträge, die "nicht erkannten Dienst" zurückgeben

15

Ein Albtraum, der einige Upstart-Jobs von Ubuntu auf EC2 Linux (ElasticBeanstalk) migriert

Ich kann nicht einmal die grundlegendste Aufgabe zum Laufen bringen. Ich verwende das folgende Skript, das unter Ubuntu perfekt funktioniert, aber den sehr wenig hilfreichen "nicht erkannten Dienst" zurückgibt, wenn ich versuche, ihn unter EC2 Linux zu starten. Ich habe gelesen, dass dies normalerweise ein Syntaxfehler ist, aber das folgt nicht, wenn dies für Ubuntu syntaktisch in Ordnung ist. Jede Hilfe massiv geschätzt, ich brauche nur ein funktionierendes Beispiel.

Dies ist in /etc/init/test.conf als root-Benutzer angelegt.

Konsole:

# sudo service test start
# test: unrecognized service

/etc/init/test.conf:

description "test"

start on startup

script
  echo $(ping -c 1 serverfault.com) > /var/log/testjob.log
end script
Mike Miller
quelle

Antworten:

12

Aus irgendeinem Grund gefällt es initctl und der Service tut es nicht ...

sudo initctl start test
test start/running, process 8776

Ein Fehler in EC2 Linux denkt mir. Mein Beispiel entspricht genau der Dokumentation, aber es ist kein Problem, auf initctl umzusteigen

Wenn Sie überprüfen möchten, welche Dienste ausgeführt werden, können Sie dies auch tun:

sudo initctl list

Und um zu überprüfen, wo der Protokollfehler die Datei eingelesen hat /var/log/messages

Mike Miller
quelle
Vielleicht hätte ich nach dieser Antwort suchen sollen, bevor ich einen Tag lang versuchte, sie selbst zu beheben und dann daemontools zu installieren.
Asfand Qazi,
1

Wenn Sie AWS Linux AMI anstelle von Ubuntu verwenden, verwenden Sie:

start on started network
Optichip
quelle
Schätzen Sie den Vorschlag, aber keine Freude. Ich
Mike Miller
Welchen AMI verwendest du?
Optichip
Das neueste EC2-Linux - wie auch immer Amazon mit ElasticBeanstalk-Anwendungen umgeht. Vielen Dank für Ihre Hilfe, fand eine Antwort unten
Mike Miller
Großartig, ich werde das auch im Hinterkopf behalten.
Optichip
Auf Ihren Vorschlag hin, denke ich, wäre das Äquivalent für elastische Bohnenstielestart on started elastic-network-interfaces
Mike Miller
0

Bei upstart sollte die Syntax sudo start testund sudo stop testnicht die vom init.d-System verwendete "service" -Syntax sein.

gewähren
quelle
Amazon Linux verwendet eine alte Version von Upstart, die Jobs in / etc / init
Asfand Qazi 23.12.15