Zum Inhalt

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.