Holen Sie sich das letzte Mal timedatectl synchronisiert jetzt seine Zeit- / Force-Synchronisation

8

Ich habe einen Ubuntu-Server, der etwas mehr als eine Minute nicht mit der tatsächlichen Zeit synchronisiert ist. Wenn ich timedatectl starte, bekomme ich:

Local time: Tue 2018-04-24 14:47:57 MDT
Universal time: Tue 2018-04-24 20:47:57 UTC
RTC time: Tue 2018-04-24 20:47:57
Timezone: America/Denver (MDT, -0600)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
          Sun 2018-03-11 01:59:59 MST
          Sun 2018-03-11 03:00:00 MDT
Next DST change: DST ends (the clock jumps one hour backwards) at
          Sun 2018-11-04 01:59:59 MDT
          Sun 2018-11-04 01:00:00 MST

Mein Verständnis ist, dass es über NTP synchronisiert werden sollte. Es ist möglich, dass ntp nicht ganz richtig funktioniert. Wenn ich ntpq -p starte, bekomme ich:

remote           refid      st t when poll reach   delay   offset  jitter
======================================================================
propjet.latt.ne .INIT.          16 u    - 1024    0    0.000    0.000   0.000
time-a-g.nist.g .INIT.          16 u    - 1024    0    0.000    0.000   0.000
linode227395.st .INIT.          16 u    - 1024    0    0.000    0.000   0.000
dev.smatwebdesi .INIT.          16 u    - 1024    0    0.000    0.000   0.000
pugot.canonical .INIT.          16 u    - 1024    0    0.000    0.000   0.000

Gibt es eine Möglichkeit zu erkennen, wann und von welchem ​​Server das letzte Mal synchronisiert wurde? Wie erzwinge ich jetzt die Synchronisierung, um das Problem zu beheben (ich weiß, dass ich das Datum manuell einstellen kann, aber ich werde es nicht ganz richtig machen, und ich möchte die Synchronisierung tatsächlich beheben).

Juacala
quelle
Für mich war der Grund, warum ntp nicht funktionierte, dass die Firewall den ausgehenden Verkehr an hoch nummerierten Ports blockierte, die von NTP benötigt wurden.
Juacala

Antworten:

7

Status überprüfen

Seit Ubuntu 16.04 ist timesyncd, das Teil von systemd ist, jetzt (sofort einsatzbereit) für die Synchronisierung von Datum und Uhrzeit verantwortlich. Sie können den Status überprüfen mit systemctl:

$ systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
           └─disable-with-time-daemon.conf
   Active: active (running) since Sun 2018-08-05 10:14:44 EDT; 11min ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 3714 (systemd-timesyn)
   Status: "Synchronized to time server 108.59.2.24:123 (0.debian.pool.ntp.org)."
   CGroup: /system.slice/systemd-timesyncd.service
           └─3714 /lib/systemd/systemd-timesyncd

Aug 05 10:14:44 pi-hole systemd[1]: Starting Network Time Synchronization...
Aug 05 10:14:44 pi-hole systemd[1]: Started Network Time Synchronization.
Aug 05 10:14:45 pi-hole systemd-timesyncd[3714]: Synchronized to time server 108.59.2.24:123 (0.debian.pool.ntp.org).

Oder durch journalctl:

$ journalctl -u systemd-timesyncd
-- Logs begin at Thu 2016-11-03 13:16:42 EDT, end at Sun 2018-08-05 10:20:01 EDT. --
Aug 05 10:14:44 pi-hole systemd[1]: Starting Network Time Synchronization...
Aug 05 10:14:44 pi-hole systemd[1]: Started Network Time Synchronization.
Aug 05 10:14:45 pi-hole systemd-timesyncd[3714]: Synchronized to time server 108.59.2.24:123 (0.debian.pool.ntp.org).

Sie können auch sehen systemd/clock:

$ stat /var/lib/systemd/clock
  File: /var/lib/systemd/clock
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: b302h/45826d    Inode: 18750       Links: 1
Access: (0644/-rw-r--r--)  Uid: (  100/systemd-timesync)   Gid: (  103/systemd-timesync)
Access: 2018-08-05 10:22:13.838262405 -0400
Modify: 2018-08-05 10:22:13.838262405 -0400
Change: 2018-08-05 10:22:13.838262405 -0400
 Birth: -

Die Zugriffs- / Änderungs- / Änderungszeiten in dieser Datei zeigen an, wann systemd-timesynd sie zuletzt berührt hat.

Erzwingen einer Synchronisierung

Es scheint keine Methode zu geben, um eine Synchronisierung direkt zu erzwingen. Ein Neustart des systemd-timesyncdDienstes löst jedoch tatsächlich eine erneute Synchronisierung aus:

$ systemctl restart systemd-timesyncd

Sie können dies in den Protokollen sehen:

$ journalctl -u systemd-timesyncd
-- Logs begin at Thu 2016-11-03 13:16:42 EDT, end at Sun 2018-08-05 10:44:37 EDT. --
Aug 05 10:14:44 pi-hole systemd[1]: Starting Network Time Synchronization...
Aug 05 10:14:44 pi-hole systemd[1]: Started Network Time Synchronization.
Aug 05 10:14:45 pi-hole systemd-timesyncd[3714]: Synchronized to time server 108.59.2.24:123 (0.debian.pool.ntp.org).
Aug 05 10:44:37 pi-hole systemd[1]: Stopping Network Time Synchronization...
Aug 05 10:44:37 pi-hole systemd[1]: Stopped Network Time Synchronization.
Aug 05 10:44:37 pi-hole systemd[1]: Starting Network Time Synchronization...
Aug 05 10:44:37 pi-hole systemd[1]: Started Network Time Synchronization.
Aug 05 10:44:37 pi-hole systemd-timesyncd[4157]: Synchronized to time server 208.75.88.4:123 (0.debian.pool.ntp.org).

Die letzte Zeile stammt von meinem Neustart.

Kontrollintervall

Sie können das Intervall, in dem die NTP-Server abgefragt werden, über diese Eigenschaften in der systemd-timesyncdKonfigurationsdatei steuern /etc/systemd/timesyncd.conf:

   PollIntervalMinSec=, PollIntervalMaxSec=

   The minimum and maximum poll intervals for NTP messages. Each setting takes a time 
   value (in seconds). PollIntervalMinSec= must not be smaller than 16 seconds. 
   PollIntervalMaxSec= must be larger than PollIntervalMinSec=. PollIntervalMinSec= 
   defaults to 32 seconds, and PollIntervalMaxSec= defaults to 2048 seconds.

Das Obige scheint Ende 2017 hinzugefügt worden zu sein - timesync: Abfrageintervall konfigurierbar machen # 7268 .

Verweise

slm
quelle