修改系統(tǒng)時間。
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的城北網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
linux系統(tǒng)時鐘有兩個,一個是硬件時鐘,即BIOS時間,就是我們進行CMOS設(shè)置時看到的時間,另一個是系統(tǒng)時鐘,是linux系統(tǒng)Kernel時間。當(dāng)Linux啟動時,系統(tǒng)Kernel會去讀取硬件時鐘的設(shè)置,然后系統(tǒng)時鐘就會獨立于硬件運作。有時我們會發(fā)現(xiàn)系統(tǒng)時鐘和硬件時鐘不一致,因此需要執(zhí)行時間同步,下面就分享一下時間設(shè)置及時鐘同步的命令使用方法。
date命令將日期設(shè)置為2014年6月18日
----?? date -s 06/18/14
將時間設(shè)置為14點20分50秒
----?? date -s 14:20:50
將時間設(shè)置為2014年6月18日14點16分30秒(MMDDhhmmYYYY.ss)
----date 0618141614.30
請點擊輸入圖片描述
hwclock/clock 命令查看、設(shè)置硬件時間
查看系統(tǒng)硬件時鐘
hwclock? --show 或者
clock? --show
設(shè)置硬件時間
hwclock --set --date="06/18/14 14:55" (月/日/年時:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年時:分:秒)
同步系統(tǒng)及硬件時鐘。
下圖中可以看到硬件和系統(tǒng)時鐘相差半小時??梢允褂胔wclock或者clock進行同步,
硬件時鐘與系統(tǒng)時鐘同步:
# hwclock --hctosys 或者 # clock --hctosys? hc代表硬件時間,sys代表系統(tǒng)時間,即用硬件時鐘同步系統(tǒng)時鐘
系統(tǒng)時鐘和硬件時鐘同步:
# hwclock --systohc或者# clock --systohc? 即用系統(tǒng)時鐘同步硬件時鐘
請點擊輸入圖片描述
請點擊輸入圖片描述
請點擊輸入圖片描述
. 前言
如果你想修改Linux系統(tǒng)里的時間,本文合適你。Linux上有多種修改時間的命令工具,本文介紹最常用、最通用的方法。
?
linux修改時間
先來了解世界時間的標(biāo)準(zhǔn),包括GMT、UTC、CST、DST、以及操作系統(tǒng)同步時間的方式
1.1 UTC
整個地球分為二十四時區(qū),每個時區(qū)都有自己的本地時間。在國際無線電通信場合,為了統(tǒng)一起見,使用一個統(tǒng)一的時間,稱為通用協(xié)調(diào)時(UTC, Universal Time Coordinated)。
1.2 GMT
格林威治標(biāo)準(zhǔn)時間 (Greenwich Mean Time)指位于英國倫敦郊區(qū)的皇家格林尼治天文臺的標(biāo)準(zhǔn)時間,因為本初子午線被定義在通過那里的經(jīng)線。
UT(世界時)和GMT(格林威治標(biāo)準(zhǔn)時)是相同的時間標(biāo)準(zhǔn),都是基于天體觀察的。
UT 是相同標(biāo)準(zhǔn)的“科學(xué)”名稱。GMT:格林威治時間,是標(biāo)準(zhǔn)的“民間”名稱。
因此,格林威治標(biāo)準(zhǔn)時(GMT)和世界時 (UT) 是相等的。
UTC是我們現(xiàn)在用的時間標(biāo)準(zhǔn),GMT是老的時間計量標(biāo)準(zhǔn)。UTC是根據(jù)原子鐘來計算時間,而GMT是根據(jù)地球的自轉(zhuǎn)和公轉(zhuǎn)來計算時間,也就是太陽每天經(jīng)過位于英國倫敦郊區(qū)的皇家格林威治天文臺的時間就是中午12點。由于現(xiàn)在世界上最精確的原子鐘50億年才會誤差1秒,可以說非常精確。而GMT因為是根據(jù)地球的轉(zhuǎn)動來計算時間的,而地球的自轉(zhuǎn)正在緩速變慢,所以使用GMT的話,會不太精準(zhǔn),一般情況那感覺不到差異,但是UTC更加科學(xué)和精確。
1.3 CST
中國標(biāo)準(zhǔn)時間 (China Standard Time)
1.4 DST
夏令時(Daylight Saving Time) 指在夏天太陽升起的比較早時,將時鐘撥快一小時,以提早日光的使用。(中國不使用)
我們需要知道的是:
GMT + 8 = UTC + 8 = CST
1.5 操作系統(tǒng)時間
以Linux為例,其實Windows或者其他操作系統(tǒng)也是類似的。
Linux時間有兩個時間:
Wall Time:系統(tǒng)時間,該時間由系統(tǒng)維護,可以是臨時,也可以是網(wǎng)絡(luò)上同步回來的,也可以是從硬件讀取出來的,前提條件是系統(tǒng)服務(wù)正常運行,如果系統(tǒng)關(guān)機了,那就不存在Wall Time
RTC Time:RTC(Real-Time Clock)或CMOS時間,即硬件時間,你可以理解為主板BIOS在一聲聲哀嚎聲中,數(shù)學(xué)老師帶著一摞試卷走了進來。
好像是因為冬天天冷,體育老師凍感冒了。
所以變成了兩節(jié)數(shù)學(xué)課,順便考個試。
數(shù)學(xué)老師名叫歐島,一個很富有數(shù)學(xué)氣息的名字,常年帶著一個黑框眼睛。
卷子陸續(xù)分發(fā)。
作為一個學(xué)渣,蘇牧無奈的拿出了數(shù)學(xué)參考資料,想碰碰運氣看能不能找到原題。
“叮!查看了數(shù)學(xué)題目,數(shù)學(xué)積分+1,當(dāng)前積分1/100,等級:一級”
突然,從腦海中冒出來的聲音,將他嚇了一大跳,差點沒從凳子上滑落下來。
一旁的同桌顏小珂忍住沒有笑場。
歐島則是狠狠的瞪了蘇牧一眼。
“???…”
蘇牧瞪大了眼睛,有些不可置信。
“這是什么鬼東西?這是系統(tǒng)??居然真的有系統(tǒng)這種東西?”
蘇牧繼續(xù)翻動,又出現(xiàn)了同樣的聲響。
“叮!您查看了數(shù)學(xué)題目,數(shù)學(xué)積分+1,當(dāng)前積分2/100,等級:一級”
他只是瞟了一眼,居然就增加了積分?
蘇牧覺得自己的腦子清明了些。
這些陌生的數(shù)學(xué)題目,似乎看起來也熟悉了幾分。
他越發(fā)的激動起來。
這些都是真正出現(xiàn)在他眼前的變化!
蘇牧翻書的動作越來越快,積分也越來越多,直到歐島走過來站到了他的面前,才反應(yīng)過來迅速收了回去。
這個時候,他的積分已經(jīng)達到了81/100。
他并沒有慌張,而是繼續(xù)將試卷上的題目查看了一遍。
終于,系統(tǒng)迎來了新的提示音。
“叮,您的數(shù)學(xué)積分已經(jīng)足夠,等級:二級,當(dāng)前積分0/1000!”
這一瞬間,蘇牧仿佛像醍醐灌頂一般,曾經(jīng)那些陌生的數(shù)學(xué)題,仿佛變成了多年的好友!
他居然!
看懂了!
看懂了?。?/p>
居然看懂了??!
蘇牧的內(nèi)心頓時內(nèi)流滿面,頗有苦盡甘來的感覺。
仿佛是要檢驗自己的成果,蘇牧的心思完全沉寂在了試卷之中,這是一個學(xué)渣對于知識的渴望。
時間一點一滴的過去,就連蘇牧自己都沒有發(fā)現(xiàn)。
可惜的是,雖然他的數(shù)學(xué)已經(jīng)達到了二級,但還是有些題目沒辦法運算出來。
“叮…..”
這一次不是系統(tǒng)的提示音,而是下課的鈴聲。
蘇牧真的是頭一次感受到了時間過的如此之快。
曾經(jīng)漫長的兩個小時,現(xiàn)在居然還讓他有些意猶未盡。
這就是學(xué)霸的感覺嗎?他默默的想到。
這張試卷,蘇牧覺得自己應(yīng)該是103分。
因為不會的題目他都空著。
而那些簡單一點的題目,蘇牧有一種迷之自信。
他得出的答案,一定是正確答案!
……
“我要好好學(xué)習(xí)了。”
強忍住內(nèi)心的激動,蘇牧擺正了
inux修改時間命令是date-s+時分秒。
修改linux系統(tǒng)時間。root使用date指令:date -s
1、只修改日期,不修改時間,輸入:date -s 2021-04-02。
2、只修改時間,輸入:date -s 12:00:00。
3、同時修改日期時間,注意要加雙引號,日期與時間之間有一空格,輸入:date -s “2021-04-02 10:25:00”
4、修改完后,記得輸入:clock -w。把系統(tǒng)時間寫入CMOS修改時區(qū)不重啟。在root下。
復(fù)制相應(yīng)的時區(qū)文件,替換系統(tǒng)時區(qū)文件:
cp /usr/share/zoneinfo/主時區(qū)/次時區(qū) /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5、文件復(fù)制命令—cp cp [參數(shù)] [源地址] [目的地址]主要參數(shù)描述如下:-a :此參數(shù)和同時指定“-dpR”參數(shù)相同 -d :在復(fù)制有符號連接的文件時,保留原始的連接。 -f :強行復(fù)制文件,不管要復(fù)制的文件是否已經(jīng)存在于目標(biāo)目錄。 -I :覆蓋現(xiàn)有文件之前詢問用戶。
對于許多與系統(tǒng)相關(guān)的任務(wù)和進程,使用正確的時區(qū)是必不可少的。例如,cron守護進程使用系統(tǒng)的時區(qū)執(zhí)行cron作業(yè),日志文件中的時間戳基于同一系統(tǒng)的時區(qū)。
環(huán)境
Centos 8
檢查現(xiàn)在的時區(qū)
timedatectl是一個 命令 行實用程序,允許您查看和更改系統(tǒng)的時間和日期。
[root@localhost ~]# timedatectl
? ? ? ? ? Local time: Tue 2020-03-31 16:35:23 CST
? ? ? Universal time: Tue 2020-03-31 08:35:23 UTC
? ? ? ? ? ? RTC time: Tue 2020-03-31 08:35:23
? ? ? ? ? ? Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
? ? ? ? ? NTP service: active
? ? ? RTC in local TZ: no
更改時區(qū)
在更改時區(qū)之前,您需要找出要使用的時區(qū)名稱。要列出所有可用時區(qū),請使用下面的 命令 :
[root@localhost ~]# timedatectl list-timezones
…
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
…
然后使用set-timezone選項更改時區(qū),比如更改為Europe/Berlin:
[root@localhost ~]# timedatectl set-timezone Europe/Berlin
使用創(chuàng)建鏈接的方式更改時區(qū)
如果運行的是舊版本的Centos,比如Centos6之前的版本,并且系統(tǒng)上不存在timedatectl命令,則可以通過將/etc/localtime符號鏈接到/usr/share/zoneinfo目錄中的時區(qū)文件來更改時區(qū)。
查看一下/usr/share/zoninfo下面的時區(qū)文件,
[root@localhost ~]# ls /usr/share/zoneinfo/
[root@localhost ~]# ls /usr/share/zoneinfo/Asia/
現(xiàn)在替換時區(qū)文件。
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
[root@localhost ~]# date
Tue Mar 31 16:53:59 CST 2020
可以看到已經(jīng)切換到了CST中國標(biāo)準(zhǔn)時間
總結(jié)
在本文中,使用了兩種方式修改時區(qū)。一種是使用timedatectl,另一種方式使用創(chuàng)建鏈接的方式。
查看時區(qū)
cat /etc/sysconfig/clock
設(shè)置時區(qū)
tzselect
timeconfig
cat /etc/sysconfig/clock ZONE=”Asia/Shanghai” — /usr/share/zoneinfo 下面的文件。 UTC=false — 硬件時鐘是否為 UTC 或者說 GMT 時鐘。 ARC=false — 如果是在 Alpha 機器上,則設(shè)置為 true 。
把硬件時鐘設(shè)置為 UTC 的好處就是他能自動設(shè)置夏時制,缺點是,在安裝有多重操作系統(tǒng)啟動的機器上,在另外的操作 系統(tǒng)上時鐘會錯誤。
Linux 的時鐘設(shè)置文件為:/etc/localtime ,實際上這個文件是 /usr/share/zoneinfo 目錄下對應(yīng)文件的符號連接。 假設(shè)我們所處的地區(qū)位于上海,那么只要運行以下的命令就可以設(shè)置時區(qū)了。
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Linux 啟動時,其中的一個腳本(/etc/rc.d/rc.sysinit)會運行 /sbin/hwclock 程序,把當(dāng)前的硬件時鐘復(fù)制為系統(tǒng) 時間。hwclock 假定硬件時鐘已經(jīng)設(shè)置為本地時鐘,除非帶有 –utc 參數(shù)。腳本文件會讀取 /etc/sysconfig/clock 文 件的設(shè)置,因此我們不需要修改腳本,直接修改這個配置文件就可以了,根據(jù)需要把其中的 UTC 行,設(shè)置為 true 或 者 false。
設(shè)置硬件時鐘時,首先使用 date 命令(“date MMDDhhmmYYYY.ss”) 設(shè)置好系統(tǒng)時鐘,然后使用 “/sbin/hwclock –systohc” 把硬件時鐘設(shè)置為和當(dāng)前系統(tǒng)時間一致。
如果你在某些應(yīng)用下面的時間是錯誤的,那么你在運行 Red Hat Linux 5.0 或 5.1,解決的辦法是建立 /usr/lib/zoneinfo 到 /usr/share/zoneinfo 的符號連接:
ln -s /usr/share/zoneinfo /usr/lib/zoneinfo
小結(jié):時鐘設(shè)置的問題本身比較簡單,但是它涉及到幾個基本的配置文件:
/etc/rc.d/rc.sysinit /etc/sysconfig/clock /etc/localtime /usr/share/zoneinfo時區(qū)的配置文件是/etc/sysconfig/clock。用tzselect命令就可以修改這個配置文件,根據(jù)命令的提示進行修改就好了。 但是在實際工作中,發(fā)現(xiàn)這種方式是不能夠使得服務(wù)器上的時間設(shè)置馬上生效的,而且使用ntpdate去同步時間服務(wù)器也不能夠更改時間。即使你使用了date命令手工設(shè)置了時間的話,如果使用ntpdate去進行時間同步的話,時間又會被改動到原來的錯誤時區(qū)的時間。而生產(chǎn)的機器往往是非常重要的,不能夠進行重啟等操作。 在網(wǎng)上找了幾種方法試了下,發(fā)現(xiàn)如果要修改時區(qū)并且馬上生效,可以更換/etc/localtime 文件來實現(xiàn)。比如我的時區(qū)是中國上海,那么就可以使用如下的命令來使得時區(qū)的更改生效。 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 然后最好使用下面的命令將更改寫入bios。