導航:首頁 > 操作系統 > linux的時鍾管理

linux的時鍾管理

發布時間:2023-03-18 07:56:09

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的時鍾同步

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如何設置伺服器上的系統時間

date -s 「20181121 17:34:00」

輸入這條命令系統時間會設置為2018年11月21日17點39分。

修改之後你可以輸入date命令查詢當前時間。

(4)linux的時鍾管理擴展閱讀:

1、桌面右上角齒輪按鈕,點擊System Settings。

㈤ linux上ntp時鍾伺服器搭建

配置的時鍾伺服器的ip地址為192.168.100.116

第一步  為伺服器和客戶機安裝ntp  ntpdate

[root@sql-proxy1 app]#yum install ntp ntpdate -y第二步 查找時間同步伺服器

http://www.pool.ntp.org/zone/asia #在裡面可以找到中國第三步  編輯 /etc/ntp.conf

[root@sql-proxy1 app]#vim /etc/ntp.conf server 0.cn.pool.ntp.org

server 1.cn.pool.ntp.org

server 2.cn.pool.ntp.org

server 3.cn.pool.ntp.org #以上四個是時間同步伺服器server 127.127.1.0 iburst local clock #當外部時間不可用時,使用本地時間restrict 192.168.10.1 mask 255.255.255.0 nomodify #允許更新的IP地址段第四步  啟動ntp服務

[root@sql-proxy1 app]#systemctl start ntpd第五步  驗證服務

[root@sql-proxy1 app]#ntpq -p    remote          refid      st t when poll reach  delay  offset  jitter

==============================================================================

120.25.115.19  .INIT.          16 u    -  64    0    0.000    0.000  0.000

ntp6.flashdance .INIT.          16 u    -  64    0    0.000    0.000  0.000

time5.aliyun.co .INIT.          16 u    -  64    0    0.000    0.000  0.000

85.199.214.101  .INIT.          16 u    -  64    0    0.000    0.000  0.000

biisoni.miuku.n .INIT.          16 u    -  64    0    0.000    0.000  0.000

ntp5.flashdance .INIT.          16 u    -  64    0    0.000    0.000  0.000

leontp.ccgs.wa. .INIT.          16 u    -  64    0    0.000    0.000  0.000

ntp1.ams1.nl.le .INIT.          16 u    -  64    0    0.000    0.000  0.000

*LOCAL(0)        .LOCL.   叢明沒       5 l    7  64    1    0.000    0.000  0.000

第六步  遠程客戶端時間同步測試

[root@sql-mysql2 ~]#ntpdate 192.168.10.116 17 Dec 20:55:08 ntpdate[11904]: adjust time server 172.18.68.31 offset -0.000067 sec

第七步 客戶端滲納設置計劃任務,每天晚上1點同步時間

crontab -e

00 01 * * * root /usr/sbin/ntpdate 192.168.10.116; /usr/sbin/clock -w

EDT 時間即美國東部時間。這里要改為北京時間即可:

命令如下:

root@ubuntu# mv /etc/localtime /etc/localtime.bak 

root@ubuntu# ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 

root@ubuntu# date 

修改116伺服器本機的ntp時間槐滲同步

systemctl stop ntpd

ntpdate cn.pool.ntp.org

systemctl start ntpd

rpm -qa |grep ntp     #檢查ntp版本

service ntpd status    #查詢ntp服務狀態

service ntpd start      #啟動

service ntpd stop      #停止

service ntpd restart   #重啟

ntpq -p   #查看ntp伺服器與上層ntp的狀態

㈥ Linux 7系統修改時間

1 TIMEDATECTL命令
該命令是作為systemd系統和服務管理器的一部分分發的工具,可以用它來查看和更改系統時鍾的配置,包括更改當前的日期和時間、設置時區以及可以激活與遠端伺服器系統時鍾的自動同步,是紅帽企業版 7 版本新增的命令。

1.1 展示當前日期和時間
可以使用timedatectl命令來展示當前日期和時間,並且有系統和硬體時鍾的配置的詳細信息。

[root@strong ~]# timedatectl
Local time: Sat 2019-09-21 15:02:27 CST
Universal time: Sat 2019-09-21 07:02:27 UTC
RTC time: Sat 2019-09-21 07:02:27
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
1.2 更改當前時間
更改當前時間,命令格式為:timedatectl set-time HH:MI:SS。

該命令同時更改系統時間和硬體時鍾,執行結果與使用命令date --set 和hwclock --systohc的效果相同。

[root@strong ~]# timedatectl set-time 20:00:00
[root@strong ~]# timedatectl
Local time: Sat 2019-09-21 20:00:04 CST
Universal time: Sat 2019-09-21 12:00:04 UTC
RTC time: Sat 2019-09-21 12:00:05
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a

[root@strong ~]# timedatectl set-time 2019-09-15
[root@strong ~]# timedatectl
Local time: Sun 2019-09-15 00:00:03 CST
Universal time: Sat 2019-09-14 16:00:03 UTC
RTC time: Sat 2019-09-14 16:00:03
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
僅僅更改日期,時間會變為00:00:00,故更改日期時需把對應的時間加上,例如:timedatectl set-time "2019-09-21 15:16:00"。

1.4 更改時區
1.4.1 列出所有時區
[root@strong ~]# timedatectl list-timezones
1.4.2 更改時區
[root@strong ~]# timedatectl set-timezone Asia/Shanghai
2 DATE命令
該命令在所有Linux系統都可用,用於設置和查看當前日期和時間,常用於腳本中以格式化的形式用於展示系統時間的詳細信息。

2.1 展示當前日期和時間
1)不帶任何格式展示

[root@strong ~]# date
Sat Sep 21 15:24:57 CST 2019
默認展示的是本地時間,以UTC的方式展示,需使用date --utc或date -u。

[root@strong ~]# date --utc
Sat Sep 21 07:25:50 UTC 2019
2)格式化展示

客制化日期和時間的展示格式,使用命令:date +"格式"。

常用的格式為:

控制格式

描述

%H

以HH格式展示小時;

%M

以MM格式展示分鍾;

%S

以SS格式展示秒;

%d

以DD格式展示天數;

%m

以MM格式展示月;

%Y

以YYYY格式展示年;

%Z

時區;

%F

以YYYY-MM-DD格式展示日期,和%Y-%m-%d等價;

%T

以HH:MM:SS格式展示時間,和%H:%M:%S等價;

[root@strong ~]# date
Sat Sep 21 15:37:18 CST 2019
[root@strong ~]# date +"%Y-%m-%d %H:%M:%S"
2019-09-21 15:38:00
2.2 更改當前時間
更改當前時間,命令格式為:date --set HH:MM:SS。

[root@strong ~]# date --set 15:40:20
Sat Sep 21 15:40:20 CST 2019
2.3 更改當前日期
更改當前日期,命令格式為:date --set YYYY-MM-DD。

[root@strong ~]# date --set 2019-09-25
Wed Sep 25 00:00:00 CST 2019
僅僅更改日期,時間會變為00:00:00,故更改日期時需把對應的時間加上,例如:

[root@strong ~]# date --set "2019-09-21 15:42:35"

Sat Sep 21 15:42:35 CST 2019。

3 CLOCK命令
該命令是用於訪問硬體時鍾的工具,也稱為Real Time Clock(RTC),對應的設置保存在/etc/adjtime文件中。硬體時鍾獨立於操作系統,即使系統關閉,它仍然工作,用於從硬體時鍾展示時間。

3.1 展示當前日期和時間
[root@strong ~]# hwclock
Sat 21 Sep 2019 03:51:24 PM CST -0.368709 seconds
3.2 設置日期和時間
設置日期和時間的命令為:hwclock --set --date "dd mmm yyyy HH:MM"

[root@strong ~]# hwclock --set --date "21 Sep 2019 16:02:25"
[root@strong ~]# hwclock
Sat 21 Sep 2019 04:02:35 PM CST -0.342764 seconds
3.3 同步日期和時間
可以使用hwclock命令在硬體時鍾和當前系統時間直接互相同步。

3.3.1 系統時間同步到硬體時鍾
[root@strong ~]# hwclock --systohc
3.3.2 硬體時鍾同步到系統時間
[root@strong ~]# hwclock --hctosys

㈦ 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的時鍾管理相關的資料

熱點內容
抖音直播雲伺服器 瀏覽:627
一加7pro文件夾data 瀏覽:424
程序員淋雨 瀏覽:947
python輸出數字序列中的空格 瀏覽:78
怎麼將pdf文件大小 瀏覽:734
氧原子相對分子量演算法 瀏覽:988
加密機為什麼是安全的 瀏覽:451
單片機拼音輸入法 瀏覽:789
蘋果筆記本t2加密晶元怎麼打開 瀏覽:796
安卓如何把手機投屏至電視 瀏覽:739
方舟編譯器現在可提速哪些軟體 瀏覽:60
微信加密為什麼是黑屏 瀏覽:473
android去電狀態 瀏覽:604
蘋果13如何加密視頻 瀏覽:815
linuxweblogic緩存 瀏覽:69
雲伺服器不同地域 瀏覽:946
python鬧鍾怎麼打 瀏覽:686
虛擬主機伺服器有什麼區別 瀏覽:833
演算法與程序的奧秘章節檢測 瀏覽:379
找pdf 瀏覽:531