systemd¶
systemd-timesyncd¶
systemd
besitzt die Möglichkeit die Systemzeit mit NTP-Servern abzugleichen. Dafür sind, bei einem mit systemd
bestückten System keine zusätzlichen Programme notwendig. Die Konfiguration erfolgt in der Datei /etc/systemd/timesyncd.conf
:
[Time]
NTP=ptbtime1.ptb.de ptbtime2.ptb.de ptbtime3.ptb
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.de.pool.ntp.org
Hier werden beispielweise als Primärserver die NTP-Server der Physikalisch-Technische Bundesanstalt und als Fallback Poolserver des NTP pool project verwendet.
Nach einem Neustart des Dienstes systemd-timesyncd.service
kann wie folgt der Status überprüft werden:
─root@s-p ~
╰─# timedatectl timesync-status
Server: 192.53.103.108 (ptbtime1.ptb.de)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
Leap: normal
Version: 4
Stratum: 1
Reference: DCF
Precision: 1us (-20)
Root distance: 3.021ms (max: 5s)
Offset: +13.718ms
Delay: 30.429ms
Jitter: 6.990ms
Packet count: 8
Frequency: +5.630ppm
Sollte keine Synchronistation mit den NTP-Servern stattfinden muss diese eventuell noch mit timedatectl set-ntp true
aktiviert werden.
Timer¶
Um Dienste bei einer bestimmten Uhrzeit oder nach dem Systemstart auszuführen können systemd-Timer verwendet werden. Dafür wird unter /etc/systemd/system/
eine Datei mit der Endung .timer
erstellt:
[Unit]
Description=Beschreibung des Timers
[Timer]
OnCalendar=*-*-* 2:30:00
# Jeden Tag um 2:30
Persistent=false/true
# Ausführung verpasster Zeiten
[Install]
WantedBy=timers.target
Dazu wird ein gleich benannter Service ohne Wants
und Requires
angelegt:
[Unit]
Description=Beschreibung des Dienstes
[Service]
Type=oneshot
ExecStart=...
[Install]
WantedBy=multi-user.target
Danach werden timer
und service
mit systemctl enable dienstname.timer
und systemctl enable dienstname.service
aktiviert. Der Timer muss noch händisch mit systemctl start dienstname.timer
gestartet werden.
Mit systemctl list-timers
kann überprüft werden ob der Timer geladen wurde.