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

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


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

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.


Amazon Linux verwendet eine alte Version von Upstart, die Jobs in / etc / init
Asfand Qazi 23.12.15
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.