Linux 系统时间和硬件时间
一、首先要弄清幾個概念:
1. “系統(tǒng)時間”與“硬件時間”
系統(tǒng)時間: 一般說來就是我們執(zhí)行 date 命令看到的時間,linux系統(tǒng)下所有的時間調(diào)用(除了直接訪問硬件時間的命令)都是使用的這個時間。
硬件時間: 主板上BIOS中的時間,由主板電池供電來維持運行,系統(tǒng)開機時要讀取這個時間,并根據(jù)它來設(shè)定系統(tǒng)時間(注意:系統(tǒng)啟動時根據(jù)硬件時間設(shè)定系統(tǒng)時間的過程可能存在時區(qū)換算,這要視具體的系統(tǒng)及相關(guān)設(shè)置而定)。
二、查看系統(tǒng)時間和硬件時間
1. 系統(tǒng)時間 date
直接調(diào)用 date,得到的是本地時間。如果想得到UTC時間的話,使用 date -u。
2. 硬件時間 /sbin/hwclock
直接調(diào)用 /sbin/hwclock 顯示的時間就是 BIOS 中的時間嗎?未必!這要看 /etc/sysconfig/clock 中是否啟用了UTC,如果啟用了UTC(UTC=true),顯示的其實是經(jīng)過時區(qū)換算的時間而不是BIOS中真正的時間,如果加上 --localtime 選項,則得到的總是 BIOS 中實際的時間.
三、系統(tǒng)啟動和關(guān)閉時,硬件時間與系統(tǒng)時間之間的同步有兩種方式(假設(shè)在中國,用CST代表本地時間):
方式A: 使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=true)
開機: BIOS------->UTC(將BIOS中的時間看成是UTC)------(時區(qū)變化)----->CST
關(guān)機: CST -------(時區(qū)變化)----->UTC-------存儲到------>BIOS
方式B: 不使用UTC(對linux就是 /etc/sysconfig/clock 中 UTC=false)
開機: BIOS--------------------->CST(將BIOS中的時間看成是CST)
關(guān)機: CST ---------存儲到------>BIOS
四、系統(tǒng)時間和硬件時間的同步
同步系統(tǒng)時間和硬件時間,可以使用hwclock命令。
//以系統(tǒng)時間為基準,修改硬件時間
[root@localhost ~]# hwclock --systohc <== sys(系統(tǒng)時間)to(寫到)hc(Hard Clock)
[root@localhost ~]# hwclock -w
//以硬件時間為基準,修改系統(tǒng)時間
[root@localhost ~]# hwclock --hctosys
[root@localhost ~]# hwclock -s
------------------------------------------------------------------------------------
采用crontab和ntp結(jié)合進行時間同步
*/30 * * * * /usr/sbin/ntpdate puppetmaster.com.cn(時間服務(wù)器的主機名) >>/root/ntdate.log 2>&1 && /sbin/clock --systohc轉(zhuǎn)載于:https://www.cnblogs.com/wspblog/p/4790214.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Linux 系统时间和硬件时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 介绍50个 WordPress 动作挂钩
- 下一篇: interface