Linux時間類型
Linux系統有系統時間和硬件時間之分:
系統時間 : 一般說來就是我們執行 date命令看到的時間,linux系統下所有的時間調用(除了直接訪問硬件時間的命令)都是使用的這個時間。
硬件時間 : 主板上BIOS中的時間,由主板電池供電來維持運行,系統開機時要讀取這個時間,並根據它來設定系統時間(注意:系統啟動時根據硬件時間設定系統時間的過程可能存在時區換算,這要視具體的系統及相關設置而定)。
問題描述
系統時間與現實時間相差一個月,改正確后,過半分鍾后又被莫名自動改回相差一個月的時間。
問題分析
(1)查看是否是時區未更正問題?
一般Linux顯示的時間是美國時間,需要改正時區為中國
// 查看當前時區 [root@surfer ~]#date -R Wed, 29 May 2019 19:56:23 +0100 // 結果顯示為不是東八區的時間 // 使用tzselect命令修改時區 [root@surfer ~]#tzselect
// 最后執行命令 [root@surfer ~]# TZ='Asia/Shanghai'; export TZ
(2)系統時間是同步硬件時間來設定的,查看硬件時間是否錯誤?
// 查看系統硬件時間 使用hwclock 或者 clock命令 [root@surfer ~]#hwclock 2018年06月26日 星期二 10時13分02秒 -0.805503 秒 [root@surfer ~]#clock 2018年06月26日 星期二 10時13分07秒 -0.507462 秒
如果硬件時間與系統時間不一致的話,修改硬件時間並同步到系統時間
//修改硬件時間 (月/日/年 時:分:秒) [root@surfer ~]# hwclock --set --date="06/18/14 14:55" 或者 [root@surfer ~]# clock --set --date="06/18/14 14:55"
// 硬件時間同步到系統時間 --hctosys hc代表硬件時間,sys代表系統時間 [root@surfer ~]# hwclock --hctosys
或者
[root@surfer ~]# clock --hctosys
// 系統時間同步到硬件時間 [root@surfer ~]# hwclock --systohc
或者
[root@surfer ~]# clock --systohc
(3)VMware鏡像的vmtoolsd時間同步檢查服務是否關閉?
vmtoolsd服務會自動檢查時間並進行同步操作,所以會導致時間修改不生效問題。
// 查看vmtoolsd是否開啟 [root@surfer ~]# systemctl status vmtoolsd // 關閉vmtoolsd服務 [root@surfer ~]# systemctl stop vmtoolsd // 啟動vmtoolsd服務 [root@surfer ~]# systemctl start vmtoolsd
(4)重啟服務器,查看重啟后是否恢復正常?
文章整合至:https://blog.csdn.net/weixin_36392230/article/details/116770928、https://blog.csdn.net/allway2/article/details/120674473、https://jingyan.baidu.com/article/fa4125acb7328628ac70920e.html