Linux?修改系統(tǒng)時間的兩種具體實現(xiàn)方式
一:更新系統(tǒng)時間的方式
1、手動修改
通過相關(guān)工具來手動修改系統(tǒng)的時間。
2、自動同步
使用NTP自動同步系統(tǒng)時間。
二:手動修改系統(tǒng)時間
1、date工具
作用:顯示和設(shè)置系統(tǒng)時間
選項:
-d <字符串> 顯示字符串所指的日期與時間,比如:"-1 day" 表示當(dāng)前日期的前一天,必須要加雙引號 -s <字符串> 設(shè)置當(dāng)前的時間和日期 #年月日使用(-)分隔,時分秒使用(:)分隔
時間格式:
# 顯示時間格式: date [+指定的格式] # 相關(guān)格式說明: %T:time,顯示時分秒,24小時制(hh:mm:ss) %F:full date,顯示年月日,%Y-%m-%d # 說明: Y: 年 m:月 d:日 H:時 M:分 S:秒
例如:顯示年月日時分秒
# 格式: date "+%F %T" # 需要用雙引號括起來 表示這是一個整體 root@ubuntu1804:~# date Tue 28 Mar 2023 11:07:08 AM CST root@ubuntu1804:~# date +"%F" 2023-03-28 root@ubuntu1804:~# date +"%T" 11:07:18 root@ubuntu1804:~# date +"%F %T" 2023-03-28 11:07:29
只修改年月日:
date -s "20220710" 或 date -s "YYYY-MM-DD" # 時間設(shè)置成2022年7月10日0時0分
只修改時分秒:
date -s "hh:mm:ss"
全部都改:
date -s "YYYY-YY-DD HH:mm:ss"
說明:
使用date命令修改的時間是臨時生效的,重啟系統(tǒng)后失效,需要將當(dāng)前時間和硬件時間同步后才可以持久生效。
2、hwclock工具
作用: 實現(xiàn)時間的校對,將硬件時間和系時間進(jìn)行校對。使用date手動修改了時間后,需要使用hwclock進(jìn)行校對。
選項:
-s, --hctosys # 以硬件時鐘為準(zhǔn),校正系統(tǒng)時鐘 -w, --systohc # 以系統(tǒng)時鐘為準(zhǔn),校正硬件時鐘
說明: clock是hwclock的一個軟鏈接
# centos存在clock和hwclock [root@Centos8 ~]# ll `which hwclock` -rwxr-xr-x. 1 root root 66928 Jul 22 2020 /usr/sbin/hwclock [root@Centos8 ~]# ll `which clock` lrwxrwxrwx. 1 root root 7 Jul 22 2020 /usr/sbin/clock -> hwclock # clock是hwclock的一個軟鏈接,ubuntu上面只有hwclock root@ubuntu1804:~# which clock root@ubuntu1804:~# which hwclock /sbin/hwclock
例如:將系統(tǒng)時間同步到硬件時間
# 同步的時候沒有任何提示 root@ubuntu1804:~# hwclock -w root@ubuntu1804:~#
例如:將硬件時間同步到系統(tǒng)時間
# # 同步的時候沒有任何提示 root@ubuntu1804:~# hwclock -s
3、timedatectl 工具
作用: timedatectl 工具可以用來更改時區(qū)也可以用來修改系統(tǒng)時間,一般是用來更改時區(qū)用的。
查看時區(qū)列表:
# 格式 timedatectl list-timezones # 例如: root@ubuntu1804:~# timedatectl list-timezones Africa/Abidjan Africa/Accra .......
修改時區(qū):
# 格式 timedatectl set-timezone 時區(qū) # 例如:修改時區(qū) 修改時區(qū)無任何提示 root@ubuntu1804:~# timedatectl set-timezone Asia/Shanghai
修改日期時間:
timedatectl set-time "2017-01-23 10:30:00" # YYYY-mm-dd HH-MM-SS
開啟NTP:
timedatectl set-ntp true/false
通過軟鏈接的方式修改時區(qū):
# 存放時區(qū)信息 /etc/timezone root@ubuntu1804:~# cat /etc/timezone Asia/Shanghai # 修改時區(qū)影響的文件 /etc/localtime # 例如 root@ubuntu2004:~# rm -f /etc/localtime #更改時區(qū)最終收到影響的文件:/etc/localtime root@ubuntu2004:~# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime root@ubuntu1804:~# ll /etc/localtime lrwxrwxrwx 1 root root 35 Mar 28 11:20 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
三:使用NTP自動同步時間
NTP(Network Time Protocol)協(xié)議,網(wǎng)絡(luò)時間協(xié)議。利用ntp協(xié)議可以實現(xiàn)網(wǎng)絡(luò)中的計算機(jī)時間同步。
1、ntpdate工具
作用: 利用時間同步服務(wù)器的時間來校準(zhǔn)本機(jī)的時間,使用互聯(lián)網(wǎng)上的時間同步服務(wù)器需要連接互聯(lián)網(wǎng)
格式:
ntpdate server_host
例如: 使用ntpdate同步時間
root@ubuntu1804:~# apt install ntpdate root@ubuntu1804:~# date Tue Dec 13 15:12:07 CST 2022 root@ubuntu1804:~# date -d '-1 day' Mon Dec 12 15:12:22 CST 2022 root@ubuntu1804:~# ntpdate ntp.aliyun.com 13 Dec 15:12:36 ntpdate[15040]: adjust time server 203.107.6.88 offset 0.002588 sec root@ubuntu1804:~# date Tue Dec 13 15:12:40 CST 2022 #同步后的時間
2、ntp工具
作用: 利用時間同步服務(wù)器的時間來校準(zhǔn)本機(jī)的時間,能持久同步時間而不是一次同步。
說明: ntp工具是客戶端和服務(wù)器都是一個工具,默認(rèn)作為客戶端使用。
ntp作為客戶端: 可以用來校準(zhǔn)本地時間為其它ntp服務(wù)器的時間
ntp作為服務(wù)端: 用來搭建ntp時間服務(wù)器,其它主機(jī)同步本機(jī)時間
ntp的客戶端工具:
ntpq工具: 是ntp的命令行工具,用于查詢和控制 NTP 服務(wù)器,并獲取與服務(wù)器時間同步的信息。
# 查看 NTP 服務(wù)器狀態(tài):顯示當(dāng)前計算機(jī)與所有已配置 NTP 服務(wù)器之間的時間同步狀態(tài) ntpq -p # 查看 NTP 服務(wù)器系統(tǒng)狀態(tài):顯示每個 NTP 服務(wù)器的系統(tǒng)狀態(tài)信息 ntpq -c sysstat # 查看計算機(jī)與 NTP 服務(wù)器之間的同步狀態(tài):示計算機(jī)與 NTP 服務(wù)器之間的同步狀態(tài),包括時間差和延遲等信息 ntpq -c loopstats
3、chrony工具
作用: 利用時間同步服務(wù)器的時間來校準(zhǔn)本機(jī)的時間,能持久同步時間而不是一次同步。同步的精度和速度比ntp更快。
端口:
- 服務(wù)端udp的123端口,如果chrony開啟了客戶端功能的話,會對123\udp端口進(jìn)行監(jiān)聽。
- 客戶端監(jiān)聽udp的323端口,作用同上。
chrony作為客戶端: 可以用來校準(zhǔn)本地時間為其它ntp服務(wù)器的時間
chrony作為服務(wù)端: 用來搭建ntp時間服務(wù)器,其它主機(jī)同步本機(jī)時間
chrony的客戶端工具:
- chronyc工具: 用于管理和監(jiān)控 NTP(網(wǎng)絡(luò)時間協(xié)議)客戶端的命令行工具
# 檢查 NTP 服務(wù)器的狀態(tài):顯示當(dāng)前的時間誤差,NTP 服務(wù)器的狀態(tài),NTP 版本號等信息。 chronyc tracking # 查看可用的 NTP 服務(wù)器列表:查看本地計算機(jī)與 NTP 服務(wù)器之間的連接狀態(tài) chronyc sources # 調(diào)整時鐘頻率:立即調(diào)整系統(tǒng)時鐘,使其與 NTP 服務(wù)器同步 chronyc makestep # 顯示當(dāng)前的活動:顯示 NTP 守護(hù)進(jìn)程的當(dāng)前狀態(tài),例如它是否正在向其他 NTP 服務(wù)器發(fā)送請求或接收響應(yīng)。 chronyc activity
四:NTP的配置
通過將一臺主機(jī)搭建為時間服務(wù)器,其它局域網(wǎng)內(nèi)的主機(jī)可以和本機(jī)的時間進(jìn)行同步。
1、ntp工具
作為客戶端:
只需要在配置文件中指定ntp服務(wù)器的地址就行
root@ubuntu1804:~# vim /etc/ntp.conf pool ntp.aliyun.com iburst # iburst表示加速同步
作為服務(wù)端:
將本機(jī)時間作為標(biāo)準(zhǔn),以此給其它主機(jī)同步時間。
# 以本機(jī)時間為準(zhǔn),允許所有用戶進(jìn)行同步 root@ubuntu1804:~# vim /etc/ntp.conf server 127.127.1.0 fudge 127.127.1.0 stratum 10 restrict default
restrict:
- restrict:用于限制哪些主機(jī)或網(wǎng)絡(luò)可以與時間服務(wù)器進(jìn)行通信。默認(rèn)是restrict default允許所有主機(jī)同步
- 配置restrict參數(shù)可以幫助保護(hù)時間服務(wù)器免受不必要的流量和安全攻擊。
# 格式 restrict [IP] [mask] [netmask_IP] [patameter] # 參數(shù) default # 默認(rèn)參數(shù),表示沒有限制。這意味著任何客戶端都可以訪問該服務(wù)器并進(jìn)行時間同步 ignore # 表示忽略所有的 NTP 請求,這意味著客戶端無法與服務(wù)器進(jìn)行時間同步。 nomodify # 表示客戶端無法修改服務(wù)器的時間設(shè)置 noquery # 表示客戶端無法查詢服務(wù)器的狀態(tài)信息,例如版本號、偏差等。 limited # 表示限制客戶端的訪問速率,防止客戶端過于頻繁地請求時間同步。 ntpport # 指定允許訪問服務(wù)器的 NTP 端口范圍 # 例如: # 允許所有客戶端訪問服務(wù)器 (默認(rèn)) restrict default # 限制只有同一個局域網(wǎng)內(nèi)的主機(jī)可以同步時間 restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap # 限制來自192.168.1.0/24子網(wǎng)范圍內(nèi)的主機(jī)只能通過1234端口訪問NTP服務(wù)器,而不允許使用其他端口訪問。 restrict 192.168.1.0 mask 255.255.255.0 ntpport 1234” # 限制來自 192.168.1.0/24 網(wǎng)段的所有主機(jī),禁止其查詢服務(wù)器,并且不信任該網(wǎng)段的主機(jī)。 restrict 192.168.1.0 mask 255.255.255.0 noquery notrust # 局域網(wǎng)里面搭建ntp就使用這個進(jìn)行限制。 # 允許192.168.0.0網(wǎng)段訪問時間服務(wù)器,但是不能修改時間服務(wù)器的一些配置。 # modify 表示禁止客戶端修改服務(wù)器的時間設(shè)置,notrap 表示禁止客戶端使用 trap 操作。 restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
2、chrony工具
作為客戶端:
只需要使用server或pool指定ntp服務(wù)器的地址就行了。
root@ubuntu1804:~# vim /etc/chrony/chrony.conf server ntp.aliyun.com
作為服務(wù)端:
將本機(jī)時間作為標(biāo)準(zhǔn),其它主機(jī)的時間同步本機(jī)時間。
因為chrony默認(rèn)是作為客戶端使用的,即服務(wù)端的123端口默認(rèn)沒開,需要在配置文件中使用allow指定才會切換為服務(wù)端模式。
# 修改改配置文件 root@ubuntu1804:~# vim /etc/chrony/chrony.conf server 127.127.1.0 fudge 127.127.1.0 stratum 10 local stratum 10 # 使用本地硬件時鐘作為時間源,并將同步級別設(shè)置為 10,表示該服務(wù)器的時間較準(zhǔn)確 allow 0.0.0.0/0 # 指定允許同步的網(wǎng)段 表示的是任何主機(jī)都可以和本機(jī)進(jìn)行時間的同步 # fudge這行是時間服務(wù)器的層次。設(shè)為0則為頂級,如果要向別的NTP服務(wù)器更新時間,請不要把它設(shè)為0
說明:
- server: 用于指定單個NTP服務(wù)器
- pool: 用于指定NTP服務(wù)器池而不是單個NTP服務(wù)器
- iburst: 讓同步時間的時候更快,開啟多個并行任務(wù)來進(jìn)行同步
- prefer: 表示如果指定了多個時間服務(wù)器的情況下優(yōu)先用這個
server 192.168.7.49 prefer iburst # prefer表示如果指定了多個時間服務(wù)器的情況下優(yōu)先用這個 iburst:表示加速時間同步
五:具體實現(xiàn)
1、 ntp 使用ntp同步ntp服務(wù)器上的時間
# 安裝ntp服務(wù) root@ubuntu1804:~# apt install ntp # 只需要在配置文件中加入這個就行 root@ubuntu1804:~# vim /etc/ntp.conf pool ntp.aliyun.com # 查看 NTP 服務(wù)器狀態(tài) root@ubuntu1804:~# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== ntp.aliyun.com .POOL. 16 p - 64 0 0.000 0.000 0.000 # 查看同步后的時間 root@ubuntu1804:~# date Wed Mar 29 14:08:54 CST 2023
使用ntp搭建本地時間服務(wù)器
搭建好后需要等待5-10分鐘才行
# 修改客戶端時間用于測試 root@ubuntu1804:~# date -s "20220329" Tue Mar 29 00:00:00 CST 2022 # 1. 修改服務(wù)端配置文件 root@ubuntu1804:~# vim /etc/ntp.conf pool ntp.aliyun.com iburst server 127.0.0.1 iburst fudge 127.127.1.0 stratum 10 restrict source 10.0.0.0 mask 255.255.255.0 nomodify # 2. 查詢和顯示NTP服務(wù)器的狀態(tài) root@ubuntu1804:/var/log/ntpstats# ntpstat synchronised to local net at stratum 11 time correct to within 199 ms polling server every 64 s # 查看同步信息 沒帶星號說明還沒開始同步 root@ubuntu1804:/var/log/ntpstats# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== LOCAL(0) .LOCL. 10 l 11 64 37 0.000 0.000 0.000 # 帶星號說明已經(jīng)開始同步 root@ubuntu1804:/var/log/ntpstats# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *LOCAL(0) .LOCL. 10 l 54 64 377 0.000 0.000 0.000 # 3. 客戶端時間同步 root@ubuntu1804:~# ntpdate 10.0.0.22 15 Oct 00:19:27 ntpdate[3631]: no server suitable for synchronization found # 服務(wù)端配置好后,需要等5-10分鐘左右才能同步成功,否則就會出現(xiàn)上面的提示 root@ubuntu1804:~# ntpdate 10.0.0.22 29 Mar 17:42:59 ntpdate[3632]: step time server 10.0.0.22 offset 14318478.924123 sec # 查看更新后的時間 root@ubuntu1804:~# date Wed Mar 29 16:15:44 CST 2023
2、chrony工具 使用chrony同步ntp服務(wù)器上的時間
# 將本機(jī)時間修改為一個錯誤時間測試 root@ubuntu1804:~# date Tue Mar 29 00:00:55 CST 2022 # 安裝服務(wù) root@ubuntu1804:~# apt install chrony # 修改配置文件 root@ubuntu1804:~# vim /etc/chrony/chrony.conf pool ntp.aliyun.com iburst # 重啟服務(wù) root@ubuntu1804:~# systemctl restart chronyd.service # 查看本地計算機(jī)與NTP服務(wù)器之間的連接狀態(tài) root@ubuntu1804:~# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? 203.107.6.88 2 6 1 31 -8775h[ -8775h] +/- 31ms # 查看有多少個ntp源在線 root@ubuntu1804:~# chronyc activity 200 OK 1 sources online 0 sources offline 0 sources doing burst (return to online) 0 sources doing burst (return to offline) 0 sources with unknown address root@ubuntu1804:~# date Wed Mar 29 14:38:41 CST 2023
使用chrony搭建本地時間服務(wù)器
# 客戶端時間設(shè)置 root@ubuntu1804:~# date -s "20220228" Mon Feb 28 00:00:00 CST 2022 # 服務(wù)器配置 root@ubuntu1804:~# vim /etc/chrony/chrony.conf server 127.0.0.1 iburst # fudge 127.127.1.0 stratum 10 local stratum 10 allow 0.0.0.0/0 # 重啟服務(wù) root@ubuntu1804:~# systemctl restart chronyd.service # 查看有多少個ntp源在線 root@ubuntu1804:~# chronyc activity 200 OK 0 sources online 0 sources offline 1 sources doing burst (return to online) 0 sources doing burst (return to offline) 0 sources with unknown address # 顯示本機(jī)時間和遠(yuǎn)程服務(wù)器同步的情況 root@ubuntu1804:~# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* localhost 10 6 177 9 -38ns[ +535ns] +/- 1362ns # 客戶端同步時間 root@ubuntu1804:~# ntpdate 10.0.0.22 29 Mar 14:58:27 ntpdate[3607]: adjust time server 10.0.0.22 offset -0.020780 sec root@ubuntu1804:~# date Wed Mar 29 14:58:29 CST 2023
六:Windows搭建和使用NTP服務(wù)器
1、windows搭建NTP服務(wù)器
(1)修改注冊表啟動NTP server
快捷鍵win + R 打開“運?”菜單,輸?regedit打開Windows注冊表 修改注冊表配置,設(shè)定授權(quán)時間服務(wù)器 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config” [AnnounceFlags]修改設(shè)定值為5
修改注冊表配置啟動ntp服務(wù)器:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer” [Enabled]數(shù)值修改為1
(2)重啟WindowsTime服務(wù)
# 管理員模式下cmd終端執(zhí)?以下命令: net stop w32time net start w32time
2、windows使用NTP服務(wù)器
(1)將WindowsTime服務(wù)設(shè)置自動啟動
打開Windows系統(tǒng)服務(wù)(Win + R然后輸?services.msc再回?), 找到Windows Time系統(tǒng)服務(wù),右擊更改屬性,將其 "啟動類型" 改為 "?動"。
(2)指定ntp服務(wù)器的地址
?標(biāo)右擊電腦左下?的時間,打開:調(diào)整?期/時間(A) 選擇添加不同時區(qū)的時鐘
再選擇Internet時間,點擊:更改設(shè)置,勾選上??塊,服務(wù)器選擇上?步配置的IP地址,點擊?即更新.
到此這篇關(guān)于Linux 修改系統(tǒng)時間的兩種方式的文章就介紹到這了,更多相關(guān)Linux 修改系統(tǒng)時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Linux系統(tǒng)上創(chuàng)建軟連接和硬連接的方法
這篇文章主要介紹了在Linux系統(tǒng)上創(chuàng)建軟連接和硬連接的方法,通過執(zhí)行 man ln 命令,可以看到這是在文件之間建立鏈接,而沒有提及是軟鏈接或硬鏈接,文中通過代碼和圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08win7下VMware虛擬機(jī)安裝linux7.2上網(wǎng)配置教程
這篇文章主要為大家詳細(xì)介紹了win7下VMware虛擬機(jī)安裝linux7.2上網(wǎng)配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09linux安裝好httpd后,測試總是訪問到系統(tǒng)默認(rèn)頁面的問題及解決
這篇文章主要介紹了linux安裝好httpd后,測試總是訪問到系統(tǒng)默認(rèn)頁面的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09Apache 服務(wù)器最新版下載、安裝及配置教程圖解(Windows版)
本文通過圖文并茂的形式給大家介紹了Apache 服務(wù)器最新版下載、安裝及配置教程(Windows版),需要的朋友可以參考下2017-12-12linux下終端分屏使用的兩種方法(screen和tmux)
這篇文章主要給大家介紹了關(guān)于在linux下終端分屏使用的兩種方法,分別是利用screen和tmux,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06