解決CentOS系統(tǒng)時(shí)間與UTC時(shí)間不一致問(wèn)題---實(shí)踐

1.問(wèn)題描述

最近在劃水的魚(yú)博客項(xiàng)目上用 @Scheduled 和corn表達(dá)式寫(xiě)了個(gè)定時(shí)器,項(xiàng)目在本地windows上跑是沒(méi)有問(wèn)題的,但是發(fā)現(xiàn)發(fā)布到linux服務(wù)上時(shí),定時(shí)器運(yùn)行時(shí)間不對(duì)了。與我設(shè)置的定時(shí)時(shí)間相差了8個(gè)小時(shí)。

查了相關(guān)資料發(fā)現(xiàn)是:linux的CentOS系統(tǒng)時(shí)間與UTC時(shí)間不一致導(dǎo)致的

2.原因

     咱們?cè)诎惭b完Centos Linux操做系統(tǒng)以后,點(diǎn)擊系統(tǒng)的時(shí)間發(fā)現(xiàn)與如今所使用的時(shí)間不一致,相差有8小時(shí),而在安裝系統(tǒng)的時(shí)候咱們選擇的時(shí)區(qū)是上海,可是CentOS Linux默認(rèn)的bios時(shí)間是utc時(shí)間(UTC是協(xié)調(diào)世界時(shí)(Universal Time Coordinated)英文縮寫(xiě),是由國(guó)際無(wú)線電咨詢委員會(huì)規(guī)定和推薦,并由國(guó)際時(shí)間局(BIH)負(fù)責(zé)保持的以秒為基礎(chǔ)的時(shí)間標(biāo)度。

    UTC至關(guān)于本初子午線(即經(jīng)度0度)上的平均太陽(yáng)時(shí),過(guò)去曾用格林威治平均時(shí)(GMT)來(lái)表示.北京時(shí)間比UTC時(shí)間早8小時(shí),以1999年1月1日0000UTC為例,UTC時(shí)間是零點(diǎn),北京時(shí)間為1999年1月1日早上8點(diǎn)整。),因此咱們?cè)跁r(shí)間上面相隔了8個(gè)小時(shí)。這個(gè)時(shí)候bios的時(shí)間和系統(tǒng)的時(shí)間固然是不一致,一個(gè)表明 utc 時(shí)間,一個(gè)表明cst(+8時(shí)區(qū)),即上海的時(shí)間。

查看時(shí)間命令:

1.查看系統(tǒng)時(shí)間:
date
2.查看utc時(shí)間
date -u
image-20211013095940378

很明顯兩個(gè)時(shí)間相差勒8個(gè)小時(shí),所以就出現(xiàn)了以上的問(wèn)題。

3.解決辦法

在CentOS Linux中終端命令中執(zhí)行如下命令:

3.1 編輯時(shí)間配置文件
vi /etc/sysconfig/clock 
------------------------------
 ZONE="Asia/Shanghai"操作系統(tǒng)
 UTC=false                          #設(shè)置為false,硬件時(shí)鐘不于utc時(shí)間一致同步
 ARC=falsei
3.2 linux的時(shí)區(qū)設(shè)置為上海時(shí)區(qū)
ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime
3.3 對(duì)準(zhǔn)時(shí)間
ntpdate 47.99.xxx.xxx(你的ip)

若是沒(méi)有安裝ntp服務(wù)器,剛須要先執(zhí)行如下命令 安裝npt服務(wù)器:

yum install ntp

如果報(bào)這個(gè)問(wèn)題:

image-20211013095248340

解決殺掉進(jìn)程

使用lsof –i:123
沒(méi)有l(wèi)sof命令的話:yum install -y lsof

[root@izbp12w1juq9po2x7vs7nnz ~]# lsof -i:123
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
ntpd    31393  ntp   16u  IPv4 48258263      0t0  UDP *:ntp 
ntpd    31393  ntp   17u  IPv6 48258264      0t0  UDP *:ntp 
ntpd    31393  ntp   18u  IPv4 48258269      0t0  UDP localhost:ntp 
ntpd    31393  ntp   19u  IPv4 48258270      0t0  UDP izbp12w1juq9po2x7vs7nnz:ntp 
ntpd    31393  ntp   20u  IPv4 48258271      0t0  UDP izbp12w1juq9po2x7vs7nnz:ntp 
[root@izbp12w1juq9po2x7vs7nnz ~]# kill -9 31393

然后再執(zhí)行命令:ntpdate 47.99.xxx.xxx(你的ip)

如果報(bào)錯(cuò):

image-20211013101651247
解決辦法:
①在本機(jī)上裝ntpd服務(wù)
②啟動(dòng)ntpd服務(wù)
③檢查ntp server完成了與自身的同步
④使用ntpdate讓其它節(jié)點(diǎn)與ntp server進(jìn)行同步
3.4 設(shè)置硬件時(shí)間和系統(tǒng)時(shí)間一致并校準(zhǔn)
/sbin/hwclock --systohc

好了,咱們的CentOS linux系統(tǒng)時(shí)間和計(jì)算機(jī)硬件時(shí)間終于都是cst時(shí)間了,而且都是上海時(shí)區(qū),終因而正常啦。

時(shí)間是同步了,但是在網(wǎng)上搜方法時(shí),將CST時(shí)間換成了GMT了,不影響使用就不關(guān)心了。

GMT時(shí)間是格林尼治標(biāo)準(zhǔn)時(shí)間。CST時(shí)間是指包含中國(guó)。美國(guó)。巴西,澳大利亞四個(gè)時(shí)區(qū)的時(shí)間。

image-20211013110801332

還有一個(gè)簡(jiǎn)單的方法就是直接改時(shí)間,命令:

date -s 2021/10/13
date -s 11:04
image-20211013111445519

完事!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容