Linux系統時間和硬件時間設置


在linux系統中有兩個時間,硬件時鍾和系統時間,硬件時鍾是指主機板上的時鍾設備,也就是通常可在BIOS畫面設定的時鍾。系統時鍾則是指kernel中的時鍾。所有Linux相關指令與函數都是讀取系統時鍾的設定。因為存在兩種不同的時鍾,那么它們之間就會存在差異。當Linux啟動時,系統時鍾會去讀取硬件時鍾的設定,之后系統時鍾即獨立運作。

用date命令對系統時間進行設置后,並不會去修改硬件時鍾,所以系統重啟后,系統時間還算會去讀取硬件時間,這就是為何date設置失效到原因。

因此,需要在設置系統時間后,將系統時間同步到硬件時鍾。

clock/hwclock:

顯示與設定硬件時鍾(query and set the hardware clock (RTC)),兩個命令相同。RTC=Real Time Clock,也就是硬件時鍾。

命令參數:

-r, --show        讀取並打印硬件時鍾(read hardware clock and print result)
-s, --hctosys    將硬件時鍾同步到系統時鍾(set the system time from the hardware clock)
-w, --systohc    將系統時鍾同步到硬件時鍾(set the hardware clock to the current system time)

命令示例:

date 顯示是當前系統時間

修改系統時間

Linux系統時間日期手動修改(1)

查看當前時間         # date

修改時間命令         # date –s 12:12:00

修改日期命令         # date –s 01/12/2008

[root@node1 ~]# hwclock -r 2016年04月24日 星期日 13時51分01秒 -0.880312 seconds [root@node1 ~]# date
2016年 04月 22日 星期五 21:21:29 CST

(2)同步系統時間到硬件時鍾

 

root@node2 ~]# date #顯示當前的系統時間 2016年 04月 24日 星期日 23:15:59 CST [root@node2 ~]# hwclock -r #顯示當前的硬件時間 2016年04月24日 星期日 14時05分47秒 -0.845293 seconds [root@node2 ~]# hwclock -w #將系統時間同步到硬件時鍾(系統時間作為硬件時間) [root@node2 ~]# hwclock -r #再次顯示硬件時間 2016年04月24日 星期日 23時16分42秒 -0.956500 seconds [root@node2 ~]# date  #再次顯示系統時間 2016年 04月 24日 星期日 23:16:48 CST

 

(3)將硬件時間作為系統時間

[root@node1 ~]# hwclock  -r #顯示硬件時間 2016年04月24日 星期日 14時14分56秒 -0.690487 seconds [root@node1 ~]# date #顯示系統時間 2016年 04月 24日 星期日 14:14:59 CST #將硬件時間作為系統時間 [root@node1 ~]# hwclock -s [root@node1 ~]# hwclock -r #再次顯示硬件時間 da2016年04月24日 星期日 14時15分21秒 -0.785729 seconds [root@node1 ~]# date #再次顯示系統時間 2016年 04月 24日 星期日 14:15:22 CST

(3)將系統時間同步至網絡時間

同步命令

# ntpdate ntp服務器域名或IP

例如:# ntpdate 1.cn.pool.ntp.org

http://www.pool.ntp.org是NTP的官方網站,在這上面我們可以找到離我們國家的NTP Server cn.pool.ntp.org.它有3個服務器地址:

服務器一:        1.cn.pool.ntp.org
服務器二:        2.asia.pool.ntp.org
服務器三:        3.asia.pool.ntp.org

(直接用域名有時有問題,可以先Ping出他們的IP,然后用IP地址同步)

自動運行同步時間腳本設定

# crontab –e

添加腳本例子如下:

*/20 * * * *       /usr/sbin/ntpdate 210.72.145.44          //每20分鍾執行一次 或者下面的

30 5 * * *          /usr/sbin/ntpdate 210.72.145.44          //每天早晨5點半執行。

[root@node1 ~]#  ntpdate 1.cn.pool.ntp.org 24 Apr 23:34:45 ntpdate[11827]: step time server 202.118.1.81 offset 33031.663763 sec [root@node1 ~]# date
2016年 04月 24日 星期日 23:34:49 CST

 

(4)本地主機可以安裝ntp服務,作為一個獨立時間同步服務器

RedHat服務器可以下載rpm安裝包,然后執行

# rpm -ivh ntp-4.2.0.a.20040617-4.x86_64.rpm 或  # yum -y install ntp.x86_64

 

 

參考博客:

Linux系統時間和硬件時間設置http://www.linuxidc.com/Linux/2014-09/107029.htm

Linux下NTP服務器(時間同步及時區相關問題):http://gaoxingf.blog.51cto.com/612518/121959

        


免責聲明!

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



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