首頁 > 軟體

Linux 系統時間設定

2020-06-16 17:45:34

本文根據網路資料整理。 Linux 系統時間設定大致可以大致分為“手動”設定與基於 ntp 的設定兩種方式。

手動設定系統時間

1. 說明

Linux將時鐘分為系統時鐘(System Clock)和硬體(Real Time Clock,簡稱RTC)時鐘兩種。系統時間是指當前Linux Kernel中的時鐘,而硬體時鐘則是主機板上由電池供電的那個主機板硬體時鐘,這個時鐘可以在BIOS的“Standard BIOS Feture”項中進行設定。Linux並沒有預設哪個時鐘系統。當Linux啟動時,硬體時鐘會去讀取系統時鐘的設定,然後系統時鐘就會獨立於硬體運作。

2. 設定方法

date 042612492015.28
hwclock –w

說明:
 第一步是設定時間,設定完成可以使用date命令檢視是否正確,注意:時間設定格式為月日時分年.秒;
 第二步是將系統時間寫入硬體時鐘,這樣可以避免重新啟動之後需要重新設定系統時間。

3. 相關操作命令
•檢視硬體時鐘

hwclock --show

•設定硬體時鐘 通用的設定格式:hwclock/clock --set --date=“月/日/年 時:分:秒”。

hwclock --set --date="09/17/2003 13:26:00"

•硬體時鐘與系統時鐘同步

hwclock –hctosys

•系統時鐘與硬體時鐘同步

hwclock –systohc

通過 ntpd 服務同步設定時間

1. 說明

ntpd 服務是通過網路對系統時間進行同步設定的 Linux 服務,可以確保系統時間的一致性。

2. 設定同步時間

ntpdate $ntpserver

ntpserver 是網路時間伺服器地址。

3. 設定系統開機時間同步

在/etc/rc.local中新增

/usr/sbin/ntpdate $ntpserver >> /var/log/ntpdate.log

另外,也可以使用 crontab 來定時對時間進行同步,在/etc/crontab中新增

10 5 * * * root ntpdate $ntpserver;hwclock -w

這樣每天5:10自動進行網路校時,並同時更新BIOS的時間。

4. 網路時間同步伺服器

時間伺服器分為兩種,一種是一級時間伺服器,另外一種是二級時間伺服器。如果是同步自己的伺服器的時間,那麼選擇二級時間伺服器,因為一級時間伺服器是為二級時間伺服器提供時間校對伺服器,我們盡量不要增加一級伺服器的壓力。這種層級的概念和DNS的層級概念是一致的。

•一級時間伺服器列表: http://support.ntp.org/bin/view/Servers/StratumOneTimeServers
•二級時間伺服器列表: http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers

附二級伺服器列表

0.pool.ntp.org            有域名負載均衡
0.cn.pool.ntp.org        有域名負載均衡
ntp.tuna.tsinghua.edu.cn  清華大學
time.windows.com          微軟
ntp.fudan.edu.cn          復旦大學

註:除了使用外部時間伺服器之外,也可以在區域網中搭建獨立的時間同步伺服器,其他機器從該時間同步伺服器獲取同步時間。

Q&A

1. no server suitable for synchronization found

執行ntpdate命令更新NTP用戶端的時間時,如果報以下錯誤:
no server suitable for synchronization found
則可採用以下步驟檢測:
(1) 在NTP伺服器端執行以下命令檢測NTP服務是否執行
service ntpd status
 (2) 執行ping命令檢測NTP用戶端與NTP伺服器端是否連通
ping NTP伺服器端IP
 (3) 在NTP用戶端執行
ntpdate -d NTP伺服器端IP
如果輸出結果如下:

6 Nov 10:23:16 ntpdate[3521]: ntpdate 4.2.2p1@1.1570-o Tue ...
Looking for host 10.75.80.47 and service ntp
host found : 10.75.80.47
transmit(10.75.80.47)
transmit(10.75.80.47)
transmit(10.75.80.47)
transmit(10.75.80.47)
transmit(10.75.80.47)
10.75.80.47: **Server dropped: no data**
...
...
6 Nov 10:23:20 ntpdate[3521]: no server suitable for synchronization found

請按以下步驟處理:
a) 檢查NTP伺服器端使用的ntp版本:
ntpq -c version
如果輸出版本是 ntp4.2之後(含4.2)的版本,則請檢測是否在restrict的定義中使用了notrust。如果有則刪除notrust,再進行NTP時間同步。

在 /etc/ntp.conf 中檢查 restrict 定義 如果有類似 restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap 的 notrust 定義,則對應刪除。

b) 檢查NTP伺服器端的防火牆是否開放NTP伺服器端口:udp 123
service iptables stop
執行以上命令關閉NTP伺服器端的防火牆,然後再進行NTP時間同步

CentOS NTP伺服器安裝與設定 http://www.linuxidc.com/Linux/2014-01/95258.htm

Linux實戰部署系列之NTP伺服器 http://www.linuxidc.com/Linux/2013-11/92275.htm

多種作業系統NTP用戶端設定 http://www.linuxidc.com/Linux/2013-10/91928.htm

搭建企業級NTP時間伺服器 http://www.linuxidc.com/Linux/2014-02/97205.htm

Linux下快速搭建ntp時間同步伺服器 http://www.linuxidc.com/Linux/2014-07/104371.htm

CentOS 6.3 下實現NTP時間伺服器 http://www.linuxidc.com/Linux/2014-08/105414.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-03/129061.htm


IT145.com E-mail:sddin#qq.com