เปิดใช้งานการซิงโครไนซ์นาฬิการะบบ


14

'timedatectl' ให้ผลลัพธ์ต่อไปนี้ -

                      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

วิธีการตั้งค่าซิงก์นาฬิการะบบให้เป็นใช่

คำตอบ:


10

วิธีหนึ่งในการทำคือใช้งานntpซึ่งยังคงใช้งานได้ใน Ubuntu 18.04 ntpเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง

sudo apt install ntp

หลังจากติดตั้งแล้วคุณสามารถเรียกใช้ntpq -pเพื่อให้แน่ใจว่าทำงานได้

~$ 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

จากนั้นใน/etc/crontabไฟล์ของคุณเพิ่ม@reboot root /usr/sbin/ntpd -nเพื่อที่ntpdจะเริ่มโดยอัตโนมัติเมื่อระบบรีบูต ใช้การแก้ไขของคุณชื่นชอบเช่นgeditหรือmousepadหรือสิ่งที่คุณชอบ

pkexec gedit /etc/crontab

ควรมีลักษณะเช่นนี้เมื่อเพิ่มบรรทัด:

# /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
#

จากนั้นรีบูทคอมพิวเตอร์เพื่อให้การตั้งค่ามีผล

~$ 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

หากคุณต้องการเปลี่ยนเซิร์ฟเวอร์ของคุณเป็นเซิร์ฟเวอร์Asia Pool ให้เพิ่มเข้าไปใน# Use servers from the NTP Pool Project.ส่วนของ/etc/ntp.confไฟล์ดังนี้:

# 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

หวังว่านี่จะช่วยได้!


17

สามารถทำได้โดยไม่ต้องปรับใช้ NTP ดังนี้:

sudo nano /etc/systemd/timesyncd.conf  

แก้ไขรายละเอียดเซิร์ฟเวอร์ NTP

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

แล้วก็

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

และคุณสามารถตรวจสอบได้ด้วย

timedatectl status

คุณยังสามารถระบุรายการเซิร์ฟเวอร์ ntp (รายการที่คั่นด้วยช่องว่าง) ในtimesyncd.confไฟล์ของคุณ: NTP=0.ur.ntp.srv 1.ur.ntp.srv; นอกจากนี้คุณยังสามารถระบุพูลเซิร์ฟเวอร์ (พูลกลางหรือเฉพาะสำหรับภูมิภาคหรือประเทศ): pool.ntp.org/zone/@
Géraud

4

การทำงานต่อไปนี้สำหรับฉัน:

timedatectl set-ntp true

แล้ว ...

systemctl restart systemd-timesyncd

ตัวอย่าง:

ป้อนคำอธิบายรูปภาพที่นี่


ไม่ได้ผลสำหรับฉัน
ATX

3

ตัวเลือก Gui: ไปที่ "การตั้งค่า" -> "รายละเอียด" -> "วันที่และเวลา" -> เปิด "วันที่และเวลาอัตโนมัติ"

systemctl restart systemd-timesyncd อาจช่วย


3

สำหรับผู้ที่ใช้ Ubuntu 18+ บนอินสแตนซ์ของ AWS EC2 ฉันพบว่ามันใช้งานได้ดีมาก มันใช้บริการซิงค์เวลาภายใน AWS:

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

เพิ่มบรรทัดต่อไปนี้ก่อนรายการเซิร์ฟเวอร์อื่น:

server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

แล้ว

sudo /etc/init.d/chrony restart

ส่วนที่ดีที่สุดเกี่ยวกับวิธีการนี้สำหรับอินสแตนซ์ EC2 คือคุณไม่จำเป็นต้องแก้ไขกฎกลุ่มความปลอดภัยของคุณแม้ว่าอินสแตนซ์ของคุณไม่ได้เชื่อมต่อกับอินเทอร์เน็ต :)

แหล่ง


2

กรณีที่เกี่ยวข้องที่ไม่ตรงกับกรณีนี้ แต่ฉันต้องการเพิ่มที่อื่น:

เป็นไปได้เช่นเดียวกับในกรณีของฉันสำหรับtimedatectlผลลัพธ์นี้เพื่อให้สอดคล้องกับพอร์ต NTP ที่ถูกบล็อกโดยไฟร์วอลล์ของคุณ

บน Ubuntu คุณสามารถอนุญาตการสื่อสารบนพอร์ต NTP 123 อย่างชัดเจนโดยการเรียกใช้คำสั่งต่อไปนี้:

sudo ufw allow out from any to any port 123

วิธีนี้จะช่วยให้ทราฟฟิกขาออกจากบริการที่ทำงานบนพีซีของคุณโดยใช้พอร์ต / เครือข่ายโปรโตคอลใด ๆ รวมกับบริการที่ทำงานบนเครื่องระยะไกลโดยใช้พอร์ต 123 กับโปรโตคอลเครือข่ายใด ๆ ซึ่งรวมถึงบริการที่ทำงานบนเครื่องระยะไกลที่ใช้โปรโตคอลเวลาเครือข่ายซึ่งจำเป็นสำหรับการขอเวลาจากเครื่องระยะไกล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.