Warum TIMER in SERVICE konvertieren?
In systemd sind dies zwei Hälften einer Aufgabe: Der .timer legt fest, wann etwas passiert, und der .SERVICE legt fest, was passiert. Die realistische Aufgabe ist also nicht die Konvertierung, sondern das Schreiben der passenden Service-Unit, die der Timer auslöst, entweder durch Namensgleichheit oder über die Unit=-Direktive.
Wie man TIMER in SERVICE konvertiert
Jeder Texteditor FREE
Erstellen Sie eine Datei mit demselben Basisnamen, z. B. backup.service neben backup.timer, und fügen Sie einen [Service]-Abschnitt mit ExecStart= für Ihren Befehl hinzu; der Timer löst diesen automatisch über den Namen aus.
systemctl edit FREE
Führen Sie systemctl edit --full --force backup.service aus, um eine neue Unit im richtigen Verzeichnis zu öffnen, definieren Sie ExecStart=, führen Sie dann systemctl daemon-reload aus und aktivieren Sie den Timer.
Über diese Formate
Eine .timer-Datei ist eine systemd-Unit, die plant, wann eine andere Unit (normalerweise eine passende .service-Datei) unter Linux ausgeführt wird, und dient als moderner Ersatz für cron.…
.TIMER-Details öffnen →Eine .SERVICE-Datei ist mit Mac OS X Service Application verknüpft, einer system-Datei.
.SERVICE-Details öffnen →Qualität & worauf zu achten ist
- Standardmäßig aktiviert ein
backup.timerden Dienstbackup.service; verwenden SieUnit=im[Timer]-Abschnitt des Timers nur, wenn der Dienstname abweicht. - Der Dienst sollte für geplante Aufgaben normalerweise vom Typ
Type=oneshotsein, damit systemd jeden Durchlauf als diskreten Job behandelt. - Nach dem Erstellen oder Ändern der Unit müssen Sie
systemctl daemon-reloadausführen, da der Timer den neuen Dienst sonst nicht erkennt.
Häufig gestellte Fragen
Kann ein Timer ohne einen Service laufen?
.service-Unit aktivieren, die den Befehl definiert.Woher weiß der Timer, welchen Service er ausführen soll?
foo.timer führt foo.service aus), es sei denn, Sie überschreiben dies mit Unit= in der Timer-Datei.Aktiviere ich den Timer oder den Service?
.timer; systemd startet den Service dann planmäßig für Sie.Wo befinden sich diese Unit-Dateien?
/etc/systemd/system/ für systemweite Units; führen Sie nach der Bearbeitung systemctl daemon-reload aus.