當前位置:首頁 » 操作系統 » linux時鍾系統

linux時鍾系統

發布時間: 2023-02-12 20:39:35

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)

命令示例:

1. 查看硬體時鍾

2014年03月27日 星期四 11時03分50秒 -0.328520 seconds
[root@localhost ~]# hwclock -r
2014年03月27日 星期四 11時03分53秒 -0.797264 seconds
[root@localhost ~]# hwclock --show
2014年03月27日 星期四 11時04分01秒 -0.672267 seconds

2. clock與hwclock相同

同步網路時間到系統時間

[root@localhost ~]# ntpdate 210.72.145.4427 Mar 11:11:24 ntpdate[4766]: adjust time server 210.72.145.44 offset 0.011401 sec

210.72.145.44(中國西安授時中心的官方時間同步伺服器IP域名)

同步網路時間到系統時間後,就可以用hwclock -w將系統時間同步到硬體時間。

修改時區

可能部分系統在執行以上兩步後,在重啟後仍然失效,所以需要進行時區修改。

[root@localhost ~]# tzselect #按照提示進行選擇時區
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改系統時間配置文件

[root@localhost ~]# /etc/sysconfig/clock

#打開clock文件,將相關內容改成以下內容
UTC=false
ARC=false
ZONE="Asia/Shanghai"

重啟系統

[root@localhost ~]# reboot

❷ linux是怎麼配置系統時鍾的

1:使用date命令查看時區
[root@db-server ~]# date -R

Sun, 11 Jan 2015 07:10:28 -0800

[root@db-server ~]#

如上RFC 2822 format所示,上面命令輸出了-0800表示西八區,是美國舊金山所在的時區,下面表示我們國家的東八區(+0800)
[root@lnx01 ~]# date -R

Sun, 11 Jan 2015 23:06:02 +0800

2:查看clock系統配置文件
[root@db-server ~]# more /etc/sysconfig/clock
ZONE="America/Los_Angeles"
UTC=true
ARC=false

如上所示,表示該系統設置的時區為「America/Los_Angeles」,也就是西八區。

Linux系統如何設置系統所在的時區呢?
方法1:使用tzselect設置時區
例子,將系統時區設置為東八區(北京時間)
[root@db-server ~]# tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerjan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 9
Please select one of the following time zone regions.
1) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang (except Mohe), Jilin
3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.
4) most of Tibet & Xinjiang
5) west Tibet & Xinjiang
#? 1

The following information has been given:

China
east China - Beijing, Guangdong, Shanghai, etc.

Therefore TZ='Asia/Shanghai' will be used.
Local time is now: Sun Jan 11 23:31:51 CST 2015.
Universal Time is now: Sun Jan 11 15:31:51 UTC 2015.
Is the above information OK?
1) Yes
2) No
#? yes
Please enter 1 for Yes, or 2 for No.
#? 1

You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai

注意:tzselect命令只告訴你選擇的時區的寫法,並不會生效。所以現在它還不是東8區北京時間。你可以在.profile、.bash_profile或者/etc/profile中設置正確的TZ環境變數並導出。 例如在.bash_profile裡面設置 TZ='Asia/Shanghai'; export TZ並使其生效。
[root@db-server ~]# source .bash_profile

[root@db-server ~]# date

Sun Jan 11 23:37:40 CST 2015

❸ 配置Linux的時鍾同步

Ubuntu系統默認的時鍾同步伺服器是ntp.ubuntu.com,Debian則是0.debian.pool.ntp.org等, 各Linux發行版都有自己的NTP官方伺服器。身在中國,使用這些都會有高延遲,但對時鍾同步這件事來說影響不大。

在某些環境下,比如公司內網、雲上子網等,是與互聯網隔絕的。這時要想做時鍾同步,就只能自己配置了。

本文介紹如何自己配置時鍾同步,不介紹如何自建NTP伺服器。

一般timesync是預裝的。如果沒有,可以使用以下命令手動安裝。

sudo apt install systemd-timesyncd 它和ntp是沖突的,二者只能安裝一個。

修改/etc/systemd/timesyncd.conf,把NTP設為華為內綠區可達的NTP伺服器。

修改完成後,需要restart後這個配置才生效。

如果以上systemd-timesyncd.service因為什麼原因而不存在,則可通過以下命令修復:

一般查看日期與時間是使用date。使用timedatectl可以查看到更多時鍾同步相關信息。

以下給出一些阿里雲的NTP列表,可以通過ping擇優使用。

以上就是 良許教程網 為各位朋友分享的配置Linux的時鍾同步。

最後,最近很多小夥伴找我要 Linux學習路線圖 ,於是我根據自己的經驗,利用業余時間熬夜肝了一個月,整理了一份電子書。無論你是面試還是自我提升,相信都會對你有幫助!目錄如下:

免費送給大家,只求大家金指給我點個贊!

電子書 | Linux開發學習路線圖

也希望有小夥伴能加入我,把這份電子書做得更完美!

推薦閱讀:

❹ Linux 時間同步

在Linux系統中存在兩個時鍾時間,分別是

硬體時鍾是指的在主板上的時鍾設備,也就是通常可以在BIOS畫面設置的時鍾,即使關機狀態也可以計算時間。

而系統時鍾則是指Kernel中的時鍾,其值是由1970年1月1日00:00:00 UTC時間至當前時間所經歷的秒數總和。當Linux啟動的時候,系統時鍾會讀取硬體時鍾的設定,之後系統時鍾獨立運作。長時間運行兩者可能將會產生誤差。另外所有的Linux相關指令都是讀取系統時鍾指定的,如date。

我們這里討論的是系統時間。

NTP,網路時間協議,使用 123/udp 埠進行網路時鍾同步;NTP 是仍在使用中的最古老的網路傳輸協議之一(1985 年前開始)。

以前Linux時間同步基本是使用 ntpdate 和 ntpd 這兩個工具實現的,但是這兩個工具已經很古老了。

【注】ntpdate和ntpd是互斥的,兩者不能同時使用。ntpd是步進式平滑的逐漸調整時間,而ntpdate是斷點式更新時間。

RHEL/CentOS 7.x 已經將 chrony 作為默認時間同步工具了。

其他Linux (如 ubuntu) 使用 systemd-timesyncd 服務。

chrony 是 RedHat 開發的,它是網路時間協議(NTP)的另一種實現;

RHEL/CentOS 7.x 的默認時間同步工具;

chrony 可以同時做為 ntp 服務的客戶端和服務端;安裝完後有兩個程序 chronyd、chronyc:

chronyd 是一個 daemon 守護進程,chronyc 是用來監控 chronyd 性能和配置參數的命令行工具。

系統版本:CentOS 7.5

chrony_server(relay):10.0.0.4
chrony_client:10.0.0.5

Edit file /etc/chrony.conf

默認已經啟動,不需要調整

example:

配置 chrony

edit file: /etc/chrony.conf

再次用chronyc 命令檢查,比較它與chronyd server的差異

systemd-timesyncd 是一個用於跨網路同步系統時鍾的守護服務。它實現了一個 SNTP 客戶端,但更輕量級,更集成systemd。

systemd-timesyncd 啟動時會讀取 /etc/systemd/timesyncd.conf 配置文件,內容如下:

你可以輸入你希望使用的其它時間伺服器,比如你自己的本地 NTP 伺服器,在 NTP= 行上輸入一個以空格分隔的伺服器列表。

如果伺服器可以直接連接internet,不用修改默認配置;如果在內網,需要單獨指定。

在最新的 Ubuntu 版本中,timedatectl 替代了老舊的 ntpdate。默認情況下,timedatectl 在系統啟動的時候會立刻同步時間,並在稍後網路連接激活後通過 socket 再次檢查一次。

timesyncd 替代了 ntpd 的客戶端的部分。默認情況下 timesyncd 會定期檢測並同步時間。它還會在本地存儲更新的時間,以便在系統重啟時做時間單步調整。

通過 timedatectl 和 timesyncd 設置的當前時間狀態和時間配置,可以使用 timedatectl status 命令來進行確認。

由於 timedatectl 的存在,各發行版已經棄用了 ntpdate,默認不再進行安裝。

timedatectl
timedatectl status ,查看時間同步狀態;
timedatectl set-ntp true ,開啟網路時間同步;

timedatectl set-timezone ZONE ,設置時區。

NTP synchronized: yes 表示時間是同步狀態。

查看服務狀態以及從哪個ntp server同步時間。

NTP:軟體層面實現,成本低。同步精度10ms左右。

PTP:需要網路介面具備在物理層提供時間戳的功能,同步精度優於100ns,區域網的節點需要使用支持PTP功能的交換機。區域網網路接點不支持PTP的話,只能同不到us,而且受網路背景流量影響。

❺ linux中的時間是哪個時區的

1、more /etc/sysconfig/clock
ZONE="Asia/Shanghai"
2、GMT + 8 = UTC + 8 = CST ,我們的linux系統時間和計算機硬體時間應該是cst時間,上海時區。
3、安裝CentOS/RHEL時候,應當取消」系統時鍾使用UTC時間」這個選項,如果忘了取消,系統時鍾會差8小時
#vi /etc/sysconfig/clock
把UTC=true 修改為 UTC=false,保存後重啟即可。

❻ linux系統時鍾同步命令

1. date命令
#date 查看系統時間
#date -set 「10/30/20 11:30」 設置月/日/年/ 時:分:秒
2.clock命令
#clock -show 查看硬體時間
3.硬體時間和系統時間同步
重新啟動系統,硬體時間會讀取系統時間,實現同步。
但是,不重啟的情況下,需要用clock命令實現同步。
#clock -systohc

❼ Linux系統下的NTP配置

第一步,選擇最好的NTP服務地址

具體命令為ntpdate -q IP地址或域名

廣東地區NTP優選結果如下:

①time4.cloud.tencent.com

②server time.asia.apple.com

③server cn.ntp.org.cn

④server ntp.aliyun.com

⑤server cn.pool.ntp.org

檢查BIOS主板時間的命令

hwclock -r

NTP服務啟停命令

sudo systemctl start/stop ntpd

檢查查看ntp伺服器有無和上層ntp連通

ntpstat

查看ntp伺服器與上層ntp的狀態

ntpq -pn

===server選項格式===

server host  [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]

其中host是上層NTP伺服器的IP地址或域名,隨後所跟的參數解釋如下所示:

◆ key: 表示所有發往伺服器的報文包含有秘鑰加密的認證信息,n是32位的整數,表示秘鑰號。

◆ version: 表示發往上層伺服器的報文使用的版本號,n默認是3,可以是1或者2。

◆ prefer: 如果有多個server選項,具有該參數的伺服器優先使用。

◆ mode: 指定數據報文mode欄位的值。

◆ minpoll: 指定與查詢該伺服器的最小時間間隔為2的n次方秒,n默認為6,范圍為4-14。

◆ maxpoll:  指定與查詢該伺服器的最大時間間隔為2的n次方秒,n默認為10,范圍為4-14。

◆ iburst: 當初始同步請求時,採用突發方式接連發送8個報文,時間間隔為2秒。

===同步硬體時鍾===

ntp服務,默認只會同步系統時間。

如果想要讓ntp同時同步硬體時間,可以設置/etc/sysconfig/ntpd文件,

在/etc/sysconfig/ntpd文件中,添加【SYNC_HWCLOCK=yes】這樣,就可以讓硬體時間與系統時間一起同步。

允許BIOS與系統時間同步,也可以通過hwclock -w 命令。

hwclock命令用來查詢和設置硬體時鍾。

hwclock -r 讀取並列印硬體時鍾

hwclock -s 將硬體時鍾同步到系統時鍾

hwclock -w  將系統時鍾同步到硬體時鍾

系統時鍾與硬體時鍾

在Linux中有硬體時鍾與系統時鍾等兩種時鍾。硬體時鍾是指主機板上的時鍾設備,也就是通常可在BIOS畫面設定的時鍾。系統時鍾則是指kernel中的時鍾。當Linux啟動時,系統時鍾會去讀取硬體時鍾的設定,之後系統時鍾即獨立運作。所有Linux相關指令與函數都是讀取系統時鍾的設定。

參考文檔:

Linux伺服器NTP客戶端配置——https://www.cnblogs.com/paul8339/p/10059364.html

NTP服務、客戶端配置詳解——https://blog.51cto.com/u_11392081/1784080

❽ linux的硬體時鍾

什麼是硬體時鍾?
    記錄在CMOS中的時鍾,和系統是沒有關系的。是靠紐扣電池來保存和計數的。硬體時鍾能記錄的信息有且僅有一個時間值(注意,和時區沒有一毛錢關系)。所以,當我們設置硬體時鍾的時候,僅僅是設置了一個數值。當我們讀取硬體時鍾的時候,也僅僅是一個數值。
    每次操作系統啟動的時候,都會讀取這個數值,然後同步到系統時鍾中。但是光讀取這個數值,對操作系統而言毫無意義(它不知道,你這個數值具體是哪個時區下的時間,自然就無法同步到系統時鍾)
    那麼怎麼知道硬體時鍾記錄的時間是哪個時區的呢(local or utc)?只能是人為指定了(系統啟動的時候,自己指定。我認為系統自己指定也是人為指定的一種吧),我們下面看下例子(一個讀,一個寫),看看怎麼解釋(網上很多解釋我覺的不靠譜)

這里哪裡能看出人為指定的時區是什麼呢?
預設的就是這個文件/etc/adjtime指定的(很多人說centos 6中是/etc/sysconfig/clock這個文件。不解釋了,忘記這個文件吧)
看下/etc/adjtime的內容:

這里是UTC,所以上面的讀寫含義分別是
    讀取出來的這個硬體時間是UTC的,直接同步到系統時間(我認為系統時間存的是UTC時間)。如果讀取出來的時間是LOCAL的,是不能直接同步系統時間的。先找到系統的時區文件/etc/localtime,根據當前時區計算出UTC時間,再同步到系統時間(還有一點,這里說一下, hwclock讀取的時候,最後都是以local時間顯示出來的,所以可能還有一層轉換)
    把"2015-08-14 16:45:05"這個時間直接寫入硬體時鍾,同時更新/etc/adjtime的內容(方便下一次讀的時候,找到正確的時區)

那怎麼覆蓋/etc/adjtime的內容呢?
    在讀寫的時候可以顯示指定,例如hwclock --local,hwclock --utc(如果不顯示指定,則使用/etc/adjtime的值)

❾ Linux怎樣修改系統時間

1、修改系統時間。

linux系統時鍾有兩個,一個是硬體時鍾,即BIOS時間,就是我們進行CMOS設置時看到的時間,另一個是系統時鍾,是linux系統Kernel時間。當Linux啟動時,系統Kernel會去讀取硬體時鍾的設置,然後系統時鍾就會獨立於硬體運作。有時我們會發現系統時鍾和硬體時鍾不一致,因此需要執行時間同步,下面就分享一下時間設置及時鍾同步的命令使用方法。

date命令將日期設置為2014年6月18日

---- date -s 06/18/14

將時間設置為14點20分50秒

---- date -s 14:20:50

將時間設置為2014年6月18日14點16分30秒(MMDDhhmmYYYY.ss)

----date 0618141614.30

熱點內容
酷派內置存儲空間不足 發布:2025-09-16 15:50:44 瀏覽:397
php設置編碼格式 發布:2025-09-16 15:20:04 瀏覽:610
php取兩位小數點 發布:2025-09-16 15:12:40 瀏覽:313
加密塊流加密 發布:2025-09-16 15:07:36 瀏覽:698
sqldeveloper導出表 發布:2025-09-16 15:07:33 瀏覽:364
xbox360ftp 發布:2025-09-16 14:45:34 瀏覽:849
火車站附近wifi密碼是多少 發布:2025-09-16 14:45:30 瀏覽:192
國家標准加密 發布:2025-09-16 14:45:27 瀏覽:951
php集成支付寶 發布:2025-09-16 14:05:28 瀏覽:721
php的pregmatchall 發布:2025-09-16 14:04:43 瀏覽:440