Linux自動同步時間的方法


介紹兩種同步linux系統的時間方法:
(1) 開啟ntpd服務,即配置ntp服務器實現時間同步。
(2) 利用ntp客戶端程序,即ntpdate同步時間。
注意:因為ntp服務器本來就會與上層時間服務器進行同步,所以在默認的情況下,ntp服務器不可以使用ntpdate,也就是說ntpdate和ntpd不能同時啟用。

1. 開啟ntpd服務同步時間

首先介紹兩個可用的ntp服務器

中國ntp服務器:cn.pool.ntp.org
上海交通大學網絡中心NTP服務器:ntp.sjtu.edu.cn

1.1 與ntp服務相關的配置文件和數據文件

(1) /etc/ntp.conf: ntp服務器的主要配置文件
(2) /usr/share/zoneinfo/: 由tzdata所提供,為各時區的時間格式對應文件。例如我國的時區格式對應文件是/usr/share/zoneinfo/Asia/Shanghai。這個目錄下的文件與下面要介紹的兩個文件clock和localtime是有關系的
(3) /etc/sysconfig/clock: 設置時區與是否使用UTC時鍾的配置文件。每次開機后Linux會自動讀取這個文件來設置自己系統默認所需要顯示的時間。比如說,在我們中國的本地時間設置中,這個文件應該會有一行 ZONE="Asia/Shanghai" 的字樣,這表示我們的時間配置文件要使用/usr/share/zoneinfo/Asia/Shanghai那個文件
(4) /etc/localtime: 就是本地端的時間配置文件,Linux會將/usr/share/zoneinfo/Asia/Shanghai這個文件內容復制到/etc/localtime中,未來我們的時間顯示就以Shanghai這個配置文件為准。

1.2 ntp服務配置

(1) 首先編輯ntp.conf文件

[root@node1 ~]# vim /etc/ntp.conf 
# 處理權限問題
restrict 127.0.0.1      #這兩個是默認值,放行本機來源
restrict -6 ::1

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap  # 放行局域網來源

# 設置主機來源,請將原來的[0|1|2|3].centos.pool.ntp.org設置注釋掉
restrict cn.pool.ntp.org        # 放行cn.pool.ntp.org進入本ntp服務器
server cn.pool.ntp.org prefer   # 以這台主機為優先
server ntp.sjtu.edu.cn

(2) 啟動ntp服務,並觀察

# 啟動ntpd服務
[root@node1 ~]# service ntpd start
# 配置開機自啟
[root@node1 ~]# chkconfig ntpd on

# 查看同步狀態,注意:需要一段時間,才能同步成功
[root@node1 ~]# ntpstat
synchronised to NTP server (85.199.214.100) at stratum 2 
   time correct to within 325 ms
   polling server every 128 s

[root@node1 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*85.199.214.100  .GPS.            1 u   35   64  377  310.011  -10.192   3.191

2. ntpdate同步時間

(1) 手動同步時間

[root@node1 ~]# ntpdate cn.pool.ntp.org
 3 Jun 18:06:16 ntpdate[2317]: adjust time server 202.112.29.82 offset -0.007719 sec

注意:如果會出現以下提示:no server suitable for synchronization found
加入-u參數,來同步時間

ntpdate -u cn.pool.ntp.org

時間同步完成后,執行命令hwclock -w,將當前系統時間寫入BIOS。另外hwclock -r可讀取BIOS中的時間
(2) 配置定時任務,同步時間

[root@node1 ~]# crontab -e
# 每過半個小時同步一次
0 */30 * * * /usr/sbin/ntpdate -u cn.pool.ntp.org > /dev/null 2>&1; /sbin/hwclock -w

(3) 配置開啟啟動校驗
編輯/etc/rc.d/rc.local文件(vim /etc/rc.d/rc.local),在文件末尾添加如下內容

/usr/sbin/ntpdate -u cn.pool.ntp.org> /dev/null 2>&1; /sbin/hwclock -w


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM