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.