Zum Inhalt springen

Benutzer:Tuxnix: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Tuxnix (Diskussion | Beiträge)
Tuxnix (Diskussion | Beiträge)
 
(186 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Nur für eigene Zwecke
{{SEITENTITEL:Benutzer:Tuxnix}}{{righttoc}}


=Kopie aus AfE nach dem ersten Boot=
Überarbeitung von Systemd/Timers
= Entwurf =


{{righttoc}}
Timer bieten die Möglichkeit Aufgaben zeitlich zu steuern. Die Timer-Unit besteht aus einer {{ic|.timer}} Datei die eine {{ic|.service}} Datei ansteuert. Timer unterstehen [[systemd]] und müssen mit dem systemctl Befehl aktiviert werden. Eine Alternative hierzu bietet [[cron]].


==Die Schönheit des Rolling Release==
== Beispiel ==
Arch Linux ist eine '''Rolling Release''' Distribution, was bedeutet, dass es im Vergleich zu anderen Linux-Distributionen keine Versionsnummern oder -namen gibt. Diese Form der Verwaltung verzichtet darauf, das ganze System neu installieren zu müssen, um es aktuell und damit auch sicher zu halten. Die Benutzung eines Rolling-Release setzt ein gewisses Maß an Eigenverantwortung voraus. Man ist gut beraten, sich vor einer Systemaktualisierung über eventuelle Änderungen zu informieren.
{{hc|1=beispiel.timer|2=
[Unit]
Description=Kurz-Beschreibung


Aktuelle Informationen hierzu findet man auf folgenden Seiten:
[Timer]
* [https://www.archlinux.de/?page=Start Arch Linux]{{Sprache|de}}
OnBootSec=1h 30m
* [https://bbs.archlinux.de/viewforum.php?id=257 Forum]{{Sprache|de}}
* [https://www.archlinux.org/ Arch Linux]{{Sprache|en}}
* [https://www.archlinux.org/news/ Arch Linux News]{{Sprache|en}}


Zudem kann man die [https://mailman.archlinux.org/mailman/listinfo/arch-announce Arch-Announce]{{Sprache|en}} Mailingliste abonnieren, um stets auf dem Laufenden zu sein.
[Install]
WantedBy=basic.target}}


===Internetverbindung (erneut) herstellen===
{{hc|1=beispiel.service|2=
Für eine LAN-Verbindung mit dem Router geschieht dies mit dem Befehl:
[Unit]
dhcpcd enp4s0
Description=Kurz-Beschreibung


Alternative Verbindungsarten sind im Kapitel [[Anleitung_für_Einsteiger#Internetverbindung_herstellen_über | Internetverbindung herstellen über:]] beschrieben.
[Service]
ExecStart=/usr/bin/beispiel.sh}}


===Arch Linux Aktualisieren===
Service- und Timerdateien werden für
Arch Linux stellt aktuelle Softwarepakete zur Verfügung. Man sollte sich angewöhnen, sein System mindestens in wöchentlichen Abstand zu aktualisieren um auch zeitnah in den Genuss von Sicherheitsupdates zu gelangen.
* systemweite Dienste im Ordner {{ic|/etc/systemd/system/}}
* userbezoge Dienste unter {{ic|~/.config/systemd/user/}} gespeichert.


====Der Paketmanager pacman====
Timer und Service müssen dabei den gleichen Namen tragen. Z.B.:
[[Pacman]] ist der '''pac'''kage '''man'''ager von Arch Linux. Er verwaltet das gesamte Paketsystem, also die Installation, das Löschen, das Downgraden von Paketen u.v.m.; er ist auch zuständig für die Verwaltung selbst kompilierter Programme, das automatische Lösen von Paket-Abhängigkeiten sowie das entfernte und lokale Suchen nach Paketen.
({{ic|'''beispiel'''.timer}} und {{ic|'''beispiel'''.service}}).


Zur Optimierung der Downloadgeschwindigkeit neuer Pakete sollte vor der ersten Aktualisierung in der Datei {{ic|/etc/pacman.d/mirrorlist}} Paket-Spiegelserver aus der Nähe auskommentiert werden.
== De- / Aktivierung ==
# nano /etc/pacman.d/mirrorlist
Mit {{ic|systemctl enable --now}} startet der Timer unverzüglich und permanent, sodass er auch nach einem Neustart aktiv ist. Ohne {{ic|--now}} werden {{ic|enable}} oder auch {{ic|disable}} erst nach einem reboot wirksam. Ein {{ic|start}} bzw. {{ic|stop}} wirken sich hingegen nur auf die laufende Sitzung aus. Bei der ersten Initialisierung legt das System automatisch einen passenden [[ln|Symlink]] an.


Die Aktualisierung des Systems geschieht mit
Timer für systemweite Dienste werden mit Rootrechten aktiviert:
  pacman -Syu
  # systemctl enable --now <name>.timer


Timer im Userbereich werden mit der Option {{ic|--user}} und mit Userrechten aktiviert:
$ systemctl --user enable --now <name>.timer


===Einen Benutzer hinzufügen und Gruppen wählen===
Aktualisierung von Timer und Sevice nach einer Änderung:
Tägliche Arbeiten sollten nicht mit dem Root-Account gemacht werden, da dieser für administrative Aufgaben vorgesehen ist und ein Arbeiten damit gefährlich sein kann. Deshalb wird nun ein normaler Benutzer hinzugefügt. Beachte, dass Benutzernamen nur Kleinbuchstaben und Sonderzeichen enthalten dürfen:
# systemctl reenable --now <name>.timer
$ systemctl --user reenable --now <name>.timer


In diesem Beispiel heißt der Benutzer duda
== Management ==
Auflistung der Auslösezeiten:
systemctl list-timers --all
(Sollen nur die aktiven Timer angezeigt werden genügt auch ein {{ic|systemctl list-timers}}).


  useradd -m -g users -s /bin/bash duda
Statusmeldungen:
  systemctl status <name>.timer
systemctl status <name>.service


passwd duda
Journaleinträge z.B.:
  Geben Sie ein neues UNIX-Passwort ein:geheim
  journalctl -u <name>.service -g Started
Geben Sie das neue UNIX-Passwort erneut ein:geheim
passwd: Passwort erfolgreich geändert


== Die [Timer] Sektion ==
( Für die Konfiguration der Sektionen [Unit], [Install] und [Service] sei an dieser Stelle auf die entsprechenden man pages verwiesen)


Falls der Benutzer wieder entfernt werden soll, so kann das mit
In der Timer Sektion können auch mehrere Zeitangaben gemacht werden. Sie beeinflussen sich nicht und werden alle zu ihrem jeweiligen Zeitpunkt ausgeführt.
userdel -r duda
gemacht werden.


Ein weiteres wichtiges Werkzeug könnte noch installiert werden, um ein Kommando mit Root-Rechten ausführen zu können.
pacman -S sudo
Damit der Benutzer Root-Rechte bekommt, muss eine Konfiguration verändert werden. Eingabe von:
EDITOR=nano visudo
oder
nano /etc/sudoers
Suchen der folgenden Zeile (steht unterhalb von "## Uncomment to allow members of group wheel to execute any command"):
  # %wheel ALL=(ALL) ALL
und entfernen des Kommentatorzeichens und des Leerzeichens.
%wheel ALL=(ALL) ALL
Den Benutzer zu der Gruppe wheel hinzufügen
gpasswd -a duda wheel


Um dem Nutzer noch Rechte für Audio etc. zu geben, kann er noch in die Gruppen {{ic|audio}}, {{ic|video}}, {{ic|games}}, {{ic|power}} hinzugefügt werden.


===Weitere nützliche Dienste===
=== Kalendarische Zeitangaben ===
* OnCalendar=


Sollte das System auf einer SSD betrieben werden, welche TRIM unterstützt, sollte der {{ic|fstrim.timer}} aktiviert werden:
==== Absolute kalendarische Zeitangaben ====


  # systemctl enable --now fstrim.timer
  OnCalendar=Thu,Fri 2026-*-1..5 11:12:13


Jetzt, das heißt bevor wir uns der grafischen Oberfläche und/oder Multimedia zuwenden, ist ein guter Zeitpunkt, ein paar zusätzliche Dienste zu installieren und zu aktivieren.
(Der service wird jeweils um 11 Uhr 12, zwischen dem 1. und 5. Kalendertag eines jeden Monats des Jahres 2026 ausgelöst, wenn dies Donnerstage oder Freitage sind.)


# pacman -S acpid dbus avahi cups
Die Angabe von Wochentagen erfolgt immer in Englisch und ist optional.
Jede Rubrik kann mit "," für die Aufzählung oder mit ".." für von bis versehen werden oder durch "*" für beliebig ersetzt werden.


Diese Dienste müssen natürlich auch jeweils explizit gestartet werden. Um dies automatisch beim Booten zu tun, muss systemd dazu angewiesen werden. Dies geschieht durch:
Die Angaben erfolgen nach diesem Schema:
OnCalendar=Wochentag(englisch/optional) Jahr-Monat-Tag Stunde:Minute:Sekunde


# systemctl enable <Dienstname>
==== Periodische kalendarische Zeitangaben ====


Für diese Beispiele:
  OnCalendar=weekly
   
# systemctl enable acpid
# systemctl enable avahi-daemon
# systemctl enable cups.service


Auch ist es sinnvoll, einen Netwerkservice für den Internetzugang automatisch zu laden:
Auch diese Werte sind möglich.
minutely, hourly, daily, monthly, weekly, yearly, quarterly, semiannually


Dies können Services wie NetworkManager erledigen. Mehr dazu unter https://wiki.archlinux.de/title/Daemons und unter https://wiki.archlinux.de/title/Daemons/Liste.
Entsprechend den oberen Notierung, kann dafür auch diese Schreibweise genutzt werden.
*-*-* *:*:00, *-*-* *:00:00, *-*-* 00:00:00, *-*-01 00:00:00, Mon *-*-* 00:00:00, *-01-01 00:00:00, *-01,04,07,10-01 00:00:00, *-01,07-01 00:00:00


===Cronjobs ausführen lassen===
==== Testen von OnCalendar= Zeitangaben ====
Einige Pakete legen sogenannte Cronjobs an. Das sind Befehle, die zu bestimmten Zeiten automatisch ausgeführt werden. Im Normalfall braucht man sich um die Cronjobs nicht zu kümmern. Mehr zu diesem Thema unter [[cron]]
Kalendarische Zeitangaben können auf der Konsole mit folgendem Befehl auf Funktion geprüft werden:
  # pacman -S cronie
  systemd-analyze calendar "<Zeitangabe>"
# systemctl enable --now cronie


Als Alternative zu o.g. klassischen Conrojobs können oft auch ''[https://www.freedesktop.org/software/systemd/man/systemd.timer.html systemd.timer]''s genutzt werden, ohne zusätzliche Software installieren zu müssen.
Mit der Option {{ic|--iterations <N>}} werden weitere Auslösezeitpunkte aufgelistet.


===Automatische Zeiteinstellung===
=== Relative Zeitangaben ===
Wer die Zeit automatisch korrigieren lassen will, kann das mit ''systemd-timesyncd'' machen.
(Stehen in Relation zu anderen Ereignissen)
systemctl enable --now systemd-timesyncd.service


Die Zeit wird nach wenigen Sekunden korrekt sein.<br>
Beispiel:
Um zu sehen, ob die Uhrzeit nun auch wirklich korrekt ist, kann man folgenden Befehl nutzen:
  OnBootSec=2d 1h 30m
  date
Anschließend kann man die Hardwareuhr oder auch RTC oder CMOS-Uhr auf der Hauptplatine korrigieren.
hwclock -w


Man muss unterscheiden zwischen einer sogenannten Systemzeit und einer Hardwareuhr auf der Hauptplatine des Rechners. Die Hardwareuhr ist die CMOS-Uhr, auch Echtzeituhr oder RTC (real time clock) genannt. Die Systemzeit ist die Zeit, die der Linuxkernel gerade hat (nur so grob). Beim Einschalten übernimmt Linux (Systemzeit) die Hardwareuhrzeit. Beim Herunterfahren wird die Systemzeit '''nicht''' an die Hardwareuhr wieder übergeben. Zur Beachtung: Werden mehrere Betriebssysteme benutzt, sollte nur ein Betriebssystem die Hardwareuhr korrigieren.
====Einmalige Ereignisse====
* OnBootSec=  - Die Zeitspanne seit dem Booten des Rechners.
* OnStartupSec= - Die Zeitspanne seit dem Start von systemd.
* OnActiveSec= - Die Zeitspanne seit Aktivierung der Timer-Unit.


Notizen:
====Wiederkehrende Ereignisse====
Eine Optimierung der Liste der Spiegelserver kann mittels {{ic|reflector}} erfolgen.
* OnUnitActiveSec= -  Die Zeitspanne seit dem der Timer das letzte mal den Job ausgelöst hat.
* OnUnitInactiveSec= -  Die Zeitspanne seit der Beendigung des letzten Jobs.


Folgende Einheiten können für relative Zeitangaben gewählt werden:
usec, us
msec, ms
seconds, second, sec, s
minutes, minute, min, m
hours, hour, hr, h
days, day, d
weeks, week, w
months, month, M (definiert als 30.44 Tage)
years, year, y (definiert als 365.25 Tage)
(Ohne Verwendung einer Einheit werden alle Angaben als Sekunden gewertet.)


==== Testen Relativer Zeitangaben ====
Relative Zeitangaben können auf der Konsole mit folgendem Befehl auf Funktion geprüft werden:
systemd-analyze timespan "<Zeitangabe>"


====Achtung bei Systemupdates mit neuem Kernel====
=== Weitere Optionen in [Timer] ===
Falls der Kernel ein größeres Update erfährt, werden Module, wie zum Beispiel ''' nvidia''' und '''madwifi''' (wird später installiert, falls nötig), unbenutzbar, da die neuen, aktualisierten Paketversionen solcher Module gegen den neueren Kernel gebaut wurden, aber das System derzeit einen älteren verwendet. Ein Neustart wird nötig sein.
* AccuracySec= -  Bestimmt die Genauigkeit des Auslösezeitpunkts (default 1 min).
* RandomizedDelaySec= - Wird verwendet damit nicht mehrere Timer exakt gleichzeitig z.B um 00:00 loslegen.
* WakeSystem= - Weckt das System aus dem suspend mode.
* Unit= - Als default ist dieser Wert identisch mit dem Suffix der .timer Datei (s. oben). Bei Verwendung  muss eine Datei mit dem hier angegebenen Namen existieren. Eine Verschachtelung von Units ist möglich.
* Persistent=true - Bewirkt, dass ein versäumter Job beim nächsten Rechnerstart unverzüglich nachgeholt wird.
* RemainAfterElapse=false - beendet den Timer nach einmaliger Ausführung.


Ebenso könnte nach einer langen Pause ohne Aktualisierung bzw. bei der Aktualisierung eines frischen Systems der Fall eintreten, dass gleichzeitig mit dem neuen Kernel andere Programmpakete oder neue Versionen von bereits vorhandenen mitinstalliert werden, die wichtige Neuerungen beinhalten, auf die der neue Kernel angewiesen ist. Dann ist es wahrscheinlich, dass der Kernel zwar aktualisiert wird, aber ''mkinitcpio'' Fehler beim Durchlaufen der Hooks meldet (wie etwa fehlende Udev-Regeln beim Hook "filesystems"). Das würde dazu führen, dass das System dann nicht mehr startet und etwa von einem anderen Linux-System oder der Live-CD repariert werden muss! Um dergleichen zu vermeiden, genügt es nach so einem Update i.d.R., das Initramfs noch einmal neu zu generieren, und zwar folgendermaßen:
== Manpages ==
mkinitcpio -p linux


=Kopie aus AfE:=
systemctl, systemd, systemd-analyze, systemd.directives, systemd.service, systemd.socket, systemd.special, systemd-system.conf, systemd.time, systemd.timer, systemd.unit


===Installation eines Bootloaders===
== Siehe auch ==
* [[systemd]]
* [[systemd/Eigener Service|Einen eigenen systemd-Service erstellen]]
* [[Automatische Sicherung (Beispiel)]]


* Als Bootmanager für BIOS-Boot-Systeme stehen [[Grub]] und [[syslinux]] zur Verfügung.
== Weblinks ==
* Für UEFI-BOOT-Syteme kann als Bootloader [[systemd-boot]] oder [[EFISTUB]] oder [[Grub]] oder [[rEFInd]] eingesetzt werden.<br>
* [https://documentation.suse.com/de-de/sle-micro/6.0/pdf/Micro-systemd-working-with-timers_de.pdf suse - Arbeiten mit systemd-Zeitgebern ] {{sprache|de}}
* [https://kofler.info/systemd-timer-als-cron-alternative/ Michael Kofler Blog] Anleitung und Beispiel {{sprache|de}}
* [https://wiki.gentoo.org/wiki/Systemd#Timer_services Gentoo wiki section] on ''systemd'' timer services {{sprache|en}}


====Installation des GRUB Bootloaders====
[[Kategorie:Systemverwaltung]]
Für Benutzer von intel-ucode bitte folgende Seite zusätzlich beachten: [[Microcode]].<br>
[[Kategorie:Service]]
Falls bei einen BIOS-Boot-System von einem Datenträger mit GPT-Partitionstabelle gebootet werden soll, benötigt Grub eine zusätzliche Partition von der Größe von 1MiB und dem Partitionstyp ef02. Siehe [[GRUB#Fehlermeldung_von_GRUB | Grub]].<br><br>
Installation des Pakets:
pacman -S grub
Booten per '''BIOS'''
grub-install /dev/sda
Booten per '''UEFI'''


Installation des EFI Bootmanagers (sonst kommt die Fehlermeldung: efibootmgr: not found):
[[en:Systemd/Timers]]
pacman -S efibootmgr
[[fr:Systemd/cron]]
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name>
[[ja:Systemd/タイマー]]
Alternativ kann man
[[ru:Systemd/Timers]]
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name> --recheck --debug
verwenden, um zusätzliche Informationen zu bekommen, falls es zu einem Fehler kommt. <br>
Wenn man einen etwas längeren Namen mit Leerzeichen für Grub geben möchte, muss man einfach 2 Anführungszeichen anbringen:
--bootloader-id="Ein sehr langer Name für den Grub Bootloader, der auch so im UEFI angezeigt wird :D"
 
Weitere '''Konfiguration''' nach BIOS oder UEFI grub-install:
 
Es kann jetzt die Grub Konfiguration generiert werden.
grub-mkconfig -o /boot/grub/grub.cfg
 
Sollte '''grub-mkconfig''' dabei eine Fehlermeldung wie
  ...
  error: out of memory.
  error: syntax error.
  error: Incorrect command.
  error: syntax error.
  Syntax error at line 164
  ...
 
liefern (siehe auch: [https://bugs.archlinux.org/task/38041 "FS#38041 - grub 1:2.00.1282.g5ae5c54-1 will not generate grub.cfg file syntax errors"], sollte das Anhängen folgender Zeile an '''/etc/default/grub''':
  # fix broken grub.cfg gen
  GRUB_DISABLE_SUBMENU=y
 
und ein erneuter Aufruf von '''grub-mkconfig''' Abhilfe schaffen.
 
====Installation des Syslinux Bootloader====
Wenn bereits ein Linux-Bootloader installiert ist, kann dieser Punkt übersprungen werden. Der bereits vorhandene Bootloader muss natürlich entsprechend konfiguriert werden.
 
Zur Beachtung, der Syslinux Bootloader funktioniert nicht bei allen 64bit Dateisystemen wie z.B. ext4. Es muß dann ein anderer Bootloader gewählt werden wie z.B. Grub. Dieser Fehler macht sich erst nach dem Reboot mit folgender Meldung bemerkbar:
Failed to load ldlinux.c32 . Boot failed: Please change disks and press a key to continue.
 
Syslinux kann jetzt installiert werden.<br>
Bei einer GPT-Partitionstabelle muss das Paket gptfdisk zusätzlich installiert werden.
pacman -S gptfdisk
pacman -S syslinux
Mit einem Editor (nano) die Konfigurationsdatei anpassen:
nano /boot/syslinux/syslinux.cfg
Die Zeilen APPEND root=/dev/sda3 ro ändern in
APPEND root=/dev/sda1 rw
oder wenn man die LABEL-Partitionsbezeichnung bevorzugt:
APPEND root=LABEL=p_arch rw
 
Anschließend syslinux auf den Bootsektor installieren
syslinux-install_update -iam
 
=====Manuelle Installation von syslinux=====
 
Falls nicht alles reibungslos ablief, kann Syslinux manuell installiert werden.
 
Dazu wird mit dem Programm ''fdisk'' das Bootflag auf die Partition gesetzt, von der die Bootdaten gebootet werden sollen.<br>
Beispiel, um für /dev/sda1 das Bootflag zu setzen:
fdisk /dev/sda
x
a
p
r
w
 
Dann wird die Partition der Bootdaten, wie z. B. /dev/sda1, unter /boot gemountet und der Bootloader installiert.
mount /dev/sda1 /boot
mkdir /boot/syslinux
extlinux --install /boot/syslinux
 
Jetzt muss noch der MBR von Syslinux auf die Festplatte geschrieben werden.
cat /usr/lib/syslinux/bios/mbr.bin > /dev/sda

Aktuelle Version vom 27. September 2025, 18:28 Uhr

Überarbeitung von Systemd/Timers

Entwurf

Timer bieten die Möglichkeit Aufgaben zeitlich zu steuern. Die Timer-Unit besteht aus einer .timer Datei die eine .service Datei ansteuert. Timer unterstehen systemd und müssen mit dem systemctl Befehl aktiviert werden. Eine Alternative hierzu bietet cron.

Beispiel

beispiel.timer
[Unit]
Description=Kurz-Beschreibung

[Timer]
OnBootSec=1h 30m

[Install]
WantedBy=basic.target
beispiel.service
[Unit]
Description=Kurz-Beschreibung

[Service]
ExecStart=/usr/bin/beispiel.sh

Service- und Timerdateien werden für

  • systemweite Dienste im Ordner /etc/systemd/system/
  • userbezoge Dienste unter ~/.config/systemd/user/ gespeichert.

Timer und Service müssen dabei den gleichen Namen tragen. Z.B.: (beispiel.timer und beispiel.service).

De- / Aktivierung

Mit systemctl enable --now startet der Timer unverzüglich und permanent, sodass er auch nach einem Neustart aktiv ist. Ohne --now werden enable oder auch disable erst nach einem reboot wirksam. Ein start bzw. stop wirken sich hingegen nur auf die laufende Sitzung aus. Bei der ersten Initialisierung legt das System automatisch einen passenden Symlink an.

Timer für systemweite Dienste werden mit Rootrechten aktiviert:

# systemctl enable --now <name>.timer

Timer im Userbereich werden mit der Option --user und mit Userrechten aktiviert:

$ systemctl --user enable --now <name>.timer

Aktualisierung von Timer und Sevice nach einer Änderung:

# systemctl reenable --now <name>.timer
$ systemctl --user reenable --now <name>.timer

Management

Auflistung der Auslösezeiten:

systemctl list-timers --all

(Sollen nur die aktiven Timer angezeigt werden genügt auch ein systemctl list-timers).

Statusmeldungen:

systemctl status <name>.timer
systemctl status <name>.service

Journaleinträge z.B.:

journalctl -u <name>.service -g Started

Die [Timer] Sektion

( Für die Konfiguration der Sektionen [Unit], [Install] und [Service] sei an dieser Stelle auf die entsprechenden man pages verwiesen)

In der Timer Sektion können auch mehrere Zeitangaben gemacht werden. Sie beeinflussen sich nicht und werden alle zu ihrem jeweiligen Zeitpunkt ausgeführt.


Kalendarische Zeitangaben

  • OnCalendar=

Absolute kalendarische Zeitangaben

OnCalendar=Thu,Fri 2026-*-1..5 11:12:13

(Der service wird jeweils um 11 Uhr 12, zwischen dem 1. und 5. Kalendertag eines jeden Monats des Jahres 2026 ausgelöst, wenn dies Donnerstage oder Freitage sind.)

Die Angabe von Wochentagen erfolgt immer in Englisch und ist optional. Jede Rubrik kann mit "," für die Aufzählung oder mit ".." für von bis versehen werden oder durch "*" für beliebig ersetzt werden.

Die Angaben erfolgen nach diesem Schema:

OnCalendar=Wochentag(englisch/optional) Jahr-Monat-Tag Stunde:Minute:Sekunde

Periodische kalendarische Zeitangaben

OnCalendar=weekly

Auch diese Werte sind möglich.

minutely, hourly, daily, monthly, weekly, yearly, quarterly, semiannually

Entsprechend den oberen Notierung, kann dafür auch diese Schreibweise genutzt werden.

*-*-* *:*:00, *-*-* *:00:00, *-*-* 00:00:00, *-*-01 00:00:00, Mon *-*-* 00:00:00, *-01-01 00:00:00, *-01,04,07,10-01 00:00:00, *-01,07-01 00:00:00

Testen von OnCalendar= Zeitangaben

Kalendarische Zeitangaben können auf der Konsole mit folgendem Befehl auf Funktion geprüft werden:

systemd-analyze calendar "<Zeitangabe>"

Mit der Option --iterations <N> werden weitere Auslösezeitpunkte aufgelistet.

Relative Zeitangaben

(Stehen in Relation zu anderen Ereignissen)

Beispiel:

OnBootSec=2d 1h 30m

Einmalige Ereignisse

  • OnBootSec= - Die Zeitspanne seit dem Booten des Rechners.
  • OnStartupSec= - Die Zeitspanne seit dem Start von systemd.
  • OnActiveSec= - Die Zeitspanne seit Aktivierung der Timer-Unit.

Wiederkehrende Ereignisse

  • OnUnitActiveSec= - Die Zeitspanne seit dem der Timer das letzte mal den Job ausgelöst hat.
  • OnUnitInactiveSec= - Die Zeitspanne seit der Beendigung des letzten Jobs.

Folgende Einheiten können für relative Zeitangaben gewählt werden:

usec, us
msec, ms
seconds, second, sec, s
minutes, minute, min, m
hours, hour, hr, h
days, day, d
weeks, week, w
months, month, M (definiert als 30.44 Tage)
years, year, y (definiert als 365.25 Tage)

(Ohne Verwendung einer Einheit werden alle Angaben als Sekunden gewertet.)

Testen Relativer Zeitangaben

Relative Zeitangaben können auf der Konsole mit folgendem Befehl auf Funktion geprüft werden:

systemd-analyze timespan "<Zeitangabe>"

Weitere Optionen in [Timer]

  • AccuracySec= - Bestimmt die Genauigkeit des Auslösezeitpunkts (default 1 min).
  • RandomizedDelaySec= - Wird verwendet damit nicht mehrere Timer exakt gleichzeitig z.B um 00:00 loslegen.
  • WakeSystem= - Weckt das System aus dem suspend mode.
  • Unit= - Als default ist dieser Wert identisch mit dem Suffix der .timer Datei (s. oben). Bei Verwendung muss eine Datei mit dem hier angegebenen Namen existieren. Eine Verschachtelung von Units ist möglich.
  • Persistent=true - Bewirkt, dass ein versäumter Job beim nächsten Rechnerstart unverzüglich nachgeholt wird.
  • RemainAfterElapse=false - beendet den Timer nach einmaliger Ausführung.

Manpages

systemctl, systemd, systemd-analyze, systemd.directives, systemd.service, systemd.socket, systemd.special, systemd-system.conf, systemd.time, systemd.timer, systemd.unit

Siehe auch