• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] systemd SuSE 12.1

KHtg

Newbie
Hilfe!

Ich habe meine SuSE 11.3 Maschine auf 12.1 geändert. Alles läuft so weit prima.
Bisher aber wurde ein Perl Programm über eine Zeile in der /etc/inittab gestartet:
DX:35:respawn:/bin/su -c "/usr/bin/perl -w /spider/perl/cluster.pl" sysop >/dev/tty11
Mit dem Booten des Rechners startete damit cluster.pl. Eine Kontrollausgabe war
auf tty11 zu sehen. Im Problemfall oder nach gewolltem Abschalten wurde cluster.pl
immer wieder erneut gestartet (respawn)

Mit dem Wechsel zu SuSE 12.1 mit systemd(?) funktioniert dieser Eintrag in der
inittab nicht mehr. cluster.pl kann nur noch manuell gestartet werden.

Wie ersetze ich die Zeile in der inittab mit dem neuen systemd in SuSE 12.1.
Bin kein Linux Experte und auf ein Schritt für Schritt Kochrezept angewiesen.
Hat irgend jemand eine Idee?
Klaus.
 

spoensche

Moderator
Teammitglied
Der Aufruf des Perlscripts hat in der inittab nichts verloren, weil in der inittab nur die Runlevel und welcher RL der Standardrunlevel definiert und die getty Prozesse (Sind für die Anmeldung am System zwingend erforderlich) gestartet werden. Ist zum Glück ja nichts passiert, aber so kann man sich sehr schnell um alle Möglichkeiten bringen das System bei einem Ausfall wieder in Gang zu bringen.

Jetzt aber zu den Zutaten für dein Kochrezept:
1. Texteditor (z.B. nano)


Vorgehensweise:

In der Konsole legst du mit
Code:
nano /etc/systemd/system/perl-cluster-script.service
eine Datei an und füllst sie mit folgendem Inhalt:
Code:
[Unit]
Descritpion=Perl Cluster Script
After=getty.target

[Serrvice]
Type=respawn
ExecStart=/usr/bin/perl -w /spider//perl/cluster.p" sysop
TiemoutSec=0
StandardOutput=tty11

[Install]
WantedBy=multi-user.target

Jetzt aktivierst du den Service noch (autom. Start beim Bootvorgang):
Code:
systemctl enable perl-cluster-script.service

und kannst inh danach mit
Code:
systemctl start perl-cluster-script.service
 
OP
K

KHtg

Newbie
Hallo Spoensche, danke für das Kochrezept - funktioniert! Der Eintrag in der inittab funktionierte prima für runlevel 3 und 5 und den SuSE versionen 10.x bis 11.4. Jetzt aber mit 12.1 ist systemd wohl die richtige Lösung. Hauptsache es tut wieder.
Vielen Dank, Gruss KHtg
 

spoensche

Moderator
Teammitglied
Setze den Thread dann bitte noch auf gelöst. Ersten Beitrag editieren und ein gelöst im Titel einfügen.
 
  1. Der Verdreher bei Description ist harmlos, dann wird beim Aufruf von "sytemctl status" einfach keine Beschreibung angezeigt.
  2. [Serrvice] hat ein r zuviel. Das fällt sofort auf, systemd den Service dann gar nicht steuern.
  3. Der zweite Verdreher (TiemeOut) führt zu einem ungewollten Verhalten, wenn (wie hier durch Setzen von 0) gar kein Timeout gewünscht ist: Dann benutzt systemd nämlich stillschweigend den Standardwert von 90 Sekunden.
[Unit]
Descritpion=Perl Cluster Script
After=getty.target

[Serrvice]
Type=respawn
ExecStart=/usr/bin/perl -w /spider//perl/cluster.p" sysop
TiemoutSec=0
StandardOutput=tty11
...

@KHtg: Da Du zumindest den zweiten Fehler gefunden haben musst - sonst wärst Du ja nicht zum Ziel gekommen: Hilf auch zurück und mach ihn bekannt.
 
Oben