Systemd in der Praxis nutzen

In nahezu allen Linux-Distributionen kümmert sich inzwischen der Daemon Systemd während des Hochfahrens des Systems darum, dass alle benötigten Dienste bereitstehen. Dieser Beitrag erläutert die wichtigsten Kommandos zu dessen Administration. [...]

AUFBAU EINES TIMERS FÜR SYSTEMD
Um ein Script oder Programm regelmäßig ausführen zu lassen, benötigen Sie eine Steuerdatei, in der Sie den Zeitpunkt der Ausführung und das Wiederholungsintervall hinterlegen. Der Aufbau einer solchen Datei sieht dann etwa so aus:

[Unit]
Description=beispiel timer
[Timer]
OnBootSec=2h
OnUnitInactiveSec=1d

Der erste Eintrag setzt eine Beschreibung des Dienstes. Die eigentliche Zeitsteuerung geschieht im Abschnitt „Timer“. Die beiden Einträge bedeuten in diesem Fall, dass der Timer zwei Stunden nach dem Systemstart ausgeführt wird. Die zweite Zeile legt fest, dass der Timer exakt 24 Stunden („1d“ steht für „one day“) nach der letzten Ausführung erneut gestartet wird. Es sind aber auch genauere Zeitangaben möglich. Setzen Sie etwa statt „OnBootSec“ den Parameter „OnCalendar=10:15“ ein, so erfolgt der Aufruf täglich um 10:15 Uhr.

Nun kann es passieren, dass der Rechner zur vorgesehenen Zeit nicht eingeschaltet ist. Wenn Sie wollen, dass die Aufgabe nachgeholt wird, ergänzen Sie die Angaben mit „Persistent=true“. Zu jeder Timer-Datei mit dem Namen „[name].timer“ muss es eine entsprechende Service-Datei geben, die den gleichen Namen trägt, also „[name].service“. In dieser Datei liegen dann die Anweisungen, die ausgeführt werden sollen. Diese Datei könnte dann so aussehen:

[Unit]
Description=Stephans Backup
[Service]
ExecStart=/home/sla/skripte/back up.sh

In diesem Beispiel wird im Home-Verzeichnis des Nutzers ein Script ausgeführt. Die Datei könnte unter „/etc/systemd/system/sla_backup.service“ gespeichert werden. Damit sind beide Voraussetzungen erfüllt, um das Script als Dienst im System zu integrieren. Allerdings sind noch einige Kleinigkeiten zu erledigen.

Damit Systemd den Service nicht nur in der aktuellen Sitzung, sondern über den nächsten Systemstart hinaus berücksichtigt, muss die Timer-Datei noch um eine Zeile ergänzt werden.

[Install]
WantedBy=basic.target

Ist diese Zeile vorhanden, kann der Timer dauerhaft in die Konfiguration des Systems eingetragen werden.

Um den Timer zu laden, nutzen Sie das Kommando

systemctl start name.timer

und mit systemctl enable name.timer wird der Timer dauerhaft in der Konfiguration abgelegt. Das Kommando systemctl disable name.timer entfernt den Eintrag bei Bedarf wieder aus dieser dauerhaften Speicherung.

Steuerungsdatei in der Abhängigkeiten geregelt, Programme und Scripts aufgerufen werden. (c) tecchannel.de

FEHLER SUCHEN UND BESEITIGEN
Es kann immer wieder einmal passieren, dass während des Systemstarts ein Problem auftritt. Ein Dienst kann nicht gestartet werden, oder eine Freigabe, die automatisch eingebunden werden soll, ist zu diesem Zeitpunkt nicht verfügbar. Systemd besitzt einen eigenen Protokollservice mit dem Namen „journald“ und dem Kommando „journalctl“. Geben Sie nur diesen Befehl ein, wird das aktuelle Protokoll des Systemstarts ausgegeben. Das System speichert aber eine ganze Reihe dieser Logdateien:

journalctl –list-boots

liefert eine Liste der gespeicherten Protokolle. Diese können nun gezielt aufgerufen werden. Sie müssen die endlos langen Kombinationen aus Buchstaben und Ziffern nicht notieren – merken Sie sich lediglich die ersten Zeichen eines Eintrags, der in die Zeit fällt, die Sie untersuchen wollen. Dann geben Sie im Terminal

journalctl –boot

ein und dann als Parameter die von Ihnen gemerkten Zeichen. Mit der Vervollständigungsfunktion, die Sie mit Drücken der Tab-Taste aktivieren, landen Sie dann beim entsprechenden Eintrag. Am fehleranfälligsten sind selbst erstellte Dienste. Um sich nur die Meldungen ausgeben zu lassen, die damit im Zusammenhang stehen, verwenden Sie den Befehl

journalctl –boot a39ac4… –unit beispiel

Sie müssen also den Namen der Unit als zusätzlichen Parameter übergeben. Damit wird die Ausgabe gezielt gefiltert. Wenn Sie schließlich einfach nur alle Dienste ansehen wollen, die einen Fehler während des Aufrufs verursacht haben, geht dies mit dem einfachen Kommando systemctl –failed.

*David Wolski arbeitet als freier Autor.


Mehr Artikel

Rüdiger Linhart, Vorsitzender der Berufsgruppe IT der Fachgruppe UBIT Wien. (c) WeinwurmFotografie
Interview

IT-Berufe im Fokus: Innovative Lösungen gegen den Fachkräftemangel

Angesichts des anhaltenden IT-Fachkräftemangels ist schnelles Handeln gefordert. Die Fachgruppe IT der UBIT Wien setzt in einer Kampagne genau hier an: Mit einem breiten Ansatz soll das vielfältige Berufsbild attraktiver gemacht und innovative Ausbildungswege aufgezeigt werden. IT WELT.at hat dazu mit Rüdiger Linhart, Vorsitzender der Berufsgruppe IT der Fachgruppe UBIT Wien, ein Interview geführt. […]

News

ISO/IEC 27001 erhöht Informationssicherheit bei 81 Prozent der zertifizierten Unternehmen

Eine Umfrage unter 200 Personen verschiedener Branchen und Unternehmensgrößen in Österreich hat erstmals abgefragt, inwiefern der internationale Standard für Informationssicherheits-Managementsysteme (ISO/IEC 27001) bei der Bewältigung von Security-Problemen in der Praxis unterstützt. Ergebnis: Rund 81 Prozent der zertifizierten Unternehmen gaben an, dass sich durch die ISO/IEC 27001 die Informationssicherheit in ihrem Unternehmen erhöht hat. […]

News

Public Key Infrastructure: Best Practices für einen erfolgreichen Zertifikats-Widerruf

Um die Sicherheit ihrer Public Key Infrastructure (PKI) aufrecht zu erhalten, müssen PKI-Teams, sobald bei einer Zertifizierungsstelle eine Sicherheitslücke entdeckt worden ist, sämtliche betroffenen Zertifikate widerrufen. Ein wichtiger Vorgang, der zwar nicht regelmäßig, aber doch so häufig auftritt, dass es sich lohnt, PKI-Teams einige Best Practices für einen effektiven und effizienten Zertifikatswiderruf an die Hand zu geben. […]

News

UBIT Security-Talk: Cyberkriminalität wächst unaufhaltsam

Jedes Unternehmen, das IT-Systeme nutzt, ist potenziell gefährdet Opfer von Cyberkriminalität zu werden, denn die Bedrohung und die Anzahl der Hackerangriffe in Österreich nimmt stetig zu. Die Experts Group IT-Security der Wirtschaftskammer Salzburg lädt am 11. November 2024 zum „UBIT Security-Talk Cyber Defense“ ein, um Unternehmen in Salzburg zu unterstützen, sich besser gegen diese Bedrohungen zu wappnen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*