Aktivieren Sie die Systemuhrsynchronisation

14

'timedatectl' gibt folgende Ausgabe aus -

                      Local time: Wed 2018-06-13 18:08:51 IST
                  Universal time: Wed 2018-06-13 12:38:51 UTC
                        RTC time: Wed 2018-06-13 12:38:51
                       Time zone: Asia/Kolkata (IST, +0530)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Wie stelle ich die Systemuhr synchronisiert auf Ja ein?

BEWARB
quelle

Antworten:

10

Eine Möglichkeit ist die Verwendung, ntpdie in Ubuntu 18.04 noch funktioniert. Führen Sie zum Installieren den folgenden Befehl aus ntp.

sudo apt install ntp

Nach der Installation können Sie ausführen ntpq -p, um sicherzustellen, dass es funktioniert.

~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000

Fügen Sie dann in Ihrer /etc/crontabDatei hinzu, @reboot root /usr/sbin/ntpd -ndamit das ntpdautomatisch gestartet wird, wenn das System neu gestartet wird. Verwenden Sie Ihren Lieblingseditor wie geditoder mousepadoder was auch immer Sie mögen:

pkexec gedit /etc/crontab

Es sollte ungefähr so ​​aussehen, wenn die Zeile hinzugefügt wird:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
@reboot     root    /usr/sbin/ntpd -n
#

Starten Sie dann den Computer neu, damit die Einstellungen wirksam werden.

~$ timedatectl status
                      Local time: Wed 2018-06-13 06:55:35 MDT
                  Universal time: Wed 2018-06-13 12:55:35 UTC
                        RTC time: Wed 2018-06-13 12:55:36
                       Time zone: America/Denver (MDT, -0600)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Wenn Sie Ihre Server in die Asia Pool- Server ändern möchten, fügen Sie sie wie folgt in den # Use servers from the NTP Pool Project.Teil der /etc/ntp.confDatei ein:

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

Hoffe das hilft!

Terrance
quelle
16

Dies kann ohne die Bereitstellung von NTP wie folgt erfolgen:

sudo nano /etc/systemd/timesyncd.conf  

Bearbeiten Sie die NTP-Serverdetails

[Time]
NTP=ur.ntp.srv
FallbackNTP=ur.fallbackntp.srv

Dann

sudo systemctl daemon-reload
sudo timedatectl set-ntp off
sudo timedatectl set-ntp on

und Sie können es mit überprüfen

timedatectl status
Max Robbertze
quelle
4

Folgendes hat bei mir funktioniert:

timedatectl set-ntp true

und dann...

systemctl restart systemd-timesyncd

Beispiel:

Geben Sie hier die Bildbeschreibung ein

tgogos
quelle
3

GUI-Option: Gehen Sie zu "Einstellungen" -> "Details" -> "Datum & Uhrzeit" -> Aktivieren Sie "Automatisches Datum und Uhrzeit".

systemctl restart systemd-timesyncd könnte helfen

NZ Dev
quelle
3

Für diejenigen, die Ubuntu 18+ auf AWS EC2-Instanzen verwenden, fand ich das fantastisch. Es nutzt den internen Zeitsynchronisierungsdienst von AWS:

sudo apt install chrony
sudo nano /etc/chromny/chrony.conf

Fügen Sie vor jedem anderen Servereintrag die folgende Zeile hinzu:

server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

und dann

sudo /etc/init.d/chrony restart

Das Beste an dieser Methode für EC2-Instanzen ist, dass Sie Ihre Sicherheitsgruppenregeln nicht ändern müssen, auch wenn Ihre Instanz nicht mit dem Internet verbunden ist :)

Quelle

jtcotton63
quelle
2

Ein verwandter Fall, der nicht genau dieser ist, aber ich möchte ihn irgendwo hinzufügen:

Wie bei mir ist es möglich, dass diese timedatectlAusgabe dem NTP-Port entspricht, der von Ihrer Firewall blockiert wird.

Unter Ubuntu können Sie die Kommunikation über den NTP-Port 123 explizit zulassen, indem Sie den folgenden Befehl ausführen:

sudo ufw allow out from any to any port 123

Dies ermöglicht ausgehenden Datenverkehr von einem Dienst, der auf Ihrem PC unter Verwendung einer beliebigen Port / Netzwerk-Protokoll-Kombination ausgeführt wird, zu Diensten, die auf einem Remotecomputer unter Verwendung von Port 123 mit einem beliebigen Netzwerkprotokoll ausgeführt werden. Dies schließt Dienste ein, die auf Remotecomputern ausgeführt werden, die das Netzwerkzeitprotokoll implementieren, das erforderlich ist, um die Zeit von einem Remotecomputer abfragen zu können.

user973021
quelle