Linux同步系統(tǒng)時(shí)間和硬件時(shí)間同步的具體方法
在 Linux 系統(tǒng)中,時(shí)間同步分為兩部分:系統(tǒng)時(shí)間(System Time) 和 硬件時(shí)間(Hardware Time 或 RTC, Real-Time Clock)。系統(tǒng)時(shí)間是 Linux 內(nèi)核維護(hù)的時(shí)間,主要用于運(yùn)行時(shí)的任務(wù)調(diào)度和時(shí)間記錄;硬件時(shí)間是 BIOS 或主板維護(hù)的時(shí)間,獨(dú)立于操作系統(tǒng),即使關(guān)機(jī)也能繼續(xù)保持準(zhǔn)確。
以下是同步時(shí)間的方法和硬件時(shí)間同步的具體步驟:
1. 同步系統(tǒng)時(shí)間:使用 NTP 或 Chrony
系統(tǒng)時(shí)間通常通過網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)服務(wù)器來同步。
1.1 使用ntp工具同步時(shí)間
安裝 NTP 服務(wù)
在 Debian/Ubuntu 系列:
sudo apt update sudo apt install ntp
在 CentOS/RHEL 系列:
sudo yum install ntp
啟動(dòng) NTP 服務(wù)
啟動(dòng)并設(shè)置為開機(jī)自啟:
sudo systemctl start ntp sudo systemctl enable ntp
同步時(shí)間
手動(dòng)同步時(shí)間:
sudo ntpdate pool.ntp.org
pool.ntp.org是全球公共 NTP 時(shí)間服務(wù)器。如果需要更精準(zhǔn)的同步,可以選擇離你位置較近的服務(wù)器。
1.2 使用chrony工具同步時(shí)間
Chrony 是一個(gè)輕量級(jí)時(shí)間同步工具,適合在不穩(wěn)定網(wǎng)絡(luò)環(huán)境下使用。
安裝 Chrony
在 Debian/Ubuntu 系列:
sudo apt update sudo apt install chrony
在 CentOS/RHEL 系列:
sudo yum install chrony
啟動(dòng) Chrony 服務(wù)
啟動(dòng)并設(shè)置為開機(jī)自啟:
sudo systemctl start chronyd sudo systemctl enable chronyd
手動(dòng)同步時(shí)間
強(qiáng)制立即同步系統(tǒng)時(shí)間:
sudo chronyc -a makestep
驗(yàn)證時(shí)間同步狀態(tài)
檢查時(shí)間源狀態(tài):
chronyc sources
1.3 使用timedatectl同步時(shí)間
timedatectl 是現(xiàn)代 Linux 發(fā)行版中管理時(shí)間的工具,基于 systemd。
啟用時(shí)間同步
檢查時(shí)間同步狀態(tài):
timedatectl status
如果未啟用 NTP 時(shí)間同步,使用以下命令啟用:
sudo timedatectl set-ntp true
手動(dòng)更新時(shí)間
如果需要手動(dòng)立即同步時(shí)間,可以結(jié)合 ntpdate 使用:
sudo ntpdate pool.ntp.org
2. 硬件時(shí)間同步:系統(tǒng)時(shí)間與硬件時(shí)間的關(guān)系
2.1 硬件時(shí)間與系統(tǒng)時(shí)間的區(qū)別
- 系統(tǒng)時(shí)間(System Time): 由操作系統(tǒng)維護(hù)的時(shí)間,通常通過 NTP 或本地用戶手動(dòng)設(shè)置。
- 硬件時(shí)間(Hardware Time 或 RTC): 由主板的硬件時(shí)鐘維護(hù),即使關(guān)機(jī)也能持續(xù)計(jì)時(shí)。
Linux 系統(tǒng)啟動(dòng)時(shí),會(huì)從硬件時(shí)間獲取初始值,并將其加載為系統(tǒng)時(shí)間。正常運(yùn)行時(shí),系統(tǒng)時(shí)間與硬件時(shí)間可以獨(dú)立運(yùn)行,但需要定期同步以確保一致性。
2.2 查看硬件時(shí)間
使用 hwclock 查看硬件時(shí)間:
sudo hwclock --show
輸出示例:
2025-11-20 15:45:32.213244+00:00
2.3 將系統(tǒng)時(shí)間同步到硬件時(shí)間
如果系統(tǒng)時(shí)間正確,但硬件時(shí)間不一致,可以將系統(tǒng)時(shí)間寫入硬件時(shí)間:
sudo hwclock --systohc
- 效果: 將系統(tǒng)時(shí)間設(shè)置為硬件時(shí)間。
2.4 將硬件時(shí)間同步到系統(tǒng)時(shí)間
如果硬件時(shí)間正確,但系統(tǒng)時(shí)間不一致,可以將硬件時(shí)間加載為系統(tǒng)時(shí)間:
sudo hwclock --hctosys
- 效果: 根據(jù)硬件時(shí)間設(shè)置系統(tǒng)時(shí)間。
2.5 檢查和設(shè)置硬件時(shí)間的時(shí)區(qū)
硬件時(shí)間可以設(shè)置為 UTC(協(xié)調(diào)世界時(shí)) 或 本地時(shí)間(Local Time)。
查看當(dāng)前硬件時(shí)間的時(shí)區(qū)設(shè)置:
timedatectl
輸出示例:
RTC in local TZ: no
yes表示硬件時(shí)鐘使用本地時(shí)間。no表示硬件時(shí)鐘使用 UTC(推薦)。
如果需要更改硬件時(shí)間的時(shí)區(qū)設(shè)置(如設(shè)置為 UTC):
sudo timedatectl set-local-rtc 0
3. 自動(dòng)化時(shí)間同步
為了保持時(shí)間一致性,可以通過以下方式自動(dòng)同步時(shí)間:
3.1 定時(shí)同步 NTP 時(shí)間
添加 ntpdate 到 Cron 定時(shí)任務(wù):
sudo crontab -e
添加以下內(nèi)容:
0 * * * * /usr/sbin/ntpdate pool.ntp.org
- 每小時(shí)同步一次時(shí)間。
3.2 啟用硬件時(shí)間與系統(tǒng)時(shí)間自動(dòng)同步
確保系統(tǒng)時(shí)間與硬件時(shí)間一致,可以在系統(tǒng)啟動(dòng)時(shí)自動(dòng)同步:
- 檢查
/etc/adjtime文件是否存在并正常工作。 - 如果需要手動(dòng)同步:
sudo hwclock --systohc
4. 常見問題與解決方法
4.1 時(shí)間不同步的原因
- NTP 服務(wù)未啟動(dòng): 確保 NTP 或 Chrony 服務(wù)已啟用。
- 時(shí)區(qū)配置錯(cuò)誤: 確保系統(tǒng)和硬件時(shí)鐘的時(shí)區(qū)一致。
- 系統(tǒng)負(fù)載過高: 高負(fù)載可能導(dǎo)致時(shí)間漂移,需檢查系統(tǒng)資源。
- CMOS 電池耗盡: 如果硬件時(shí)間丟失,可能是 BIOS 電池耗盡,需更換。
4.2 強(qiáng)制同步時(shí)間失敗
- 如果
ntpdate或chrony無法同步時(shí)間,檢查防火墻是否阻止了 NTP 流量(默認(rèn)使用 UDP 123 端口)。 - 檢查網(wǎng)絡(luò)連通性:
ping pool.ntp.org
5. 總結(jié)
系統(tǒng)時(shí)間同步步驟:
- 使用 NTP 或 Chrony 工具同步系統(tǒng)時(shí)間。
- 使用
timedatectl確保時(shí)間同步功能已啟用。
硬件時(shí)間同步步驟:
查看硬件時(shí)間:
sudo hwclock --show
同步系統(tǒng)時(shí)間到硬件時(shí)間:
sudo hwclock --systohc
根據(jù)需要調(diào)整硬件時(shí)間的時(shí)區(qū)設(shè)置。
通過定期自動(dòng)同步系統(tǒng)時(shí)間和硬件時(shí)間,可以確保 Linux 系統(tǒng)時(shí)間的準(zhǔn)確性和一致性。
以上就是Linux同步系統(tǒng)時(shí)間和硬件時(shí)間同步的具體方法的詳細(xì)內(nèi)容,更多關(guān)于Linux同步系統(tǒng)時(shí)間和硬件時(shí)間同步的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決Linux可執(zhí)行文件目錄下明明存在*.so文件,但卻提示找不到
這篇文章主要介紹了解決Linux可執(zhí)行文件目錄下明明存在*.so文件,但卻提示找不到問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
linux把一個(gè)文件的內(nèi)容復(fù)制到另一個(gè)文件的末尾
這篇文章主要介紹了linux把一個(gè)文件的內(nèi)容復(fù)制到另一個(gè)文件的末尾,文中給大家提到了linux 把文件末尾輸出到另一個(gè)文件的方法,需要的朋友可以參考下2019-08-08
Apache服務(wù)器二級(jí)域名的完美實(shí)現(xiàn)
Apache服務(wù)器二級(jí)域名的完美實(shí)現(xiàn) 首先,你的擁有一個(gè)有泛域名解析的頂級(jí)域名,例如: domain.com2008-10-10
CentOS配置SSH免密登錄實(shí)現(xiàn)方式
文章介紹了如何在三臺(tái)CentOS服務(wù)器之間配置免密碼SSH登錄,以便進(jìn)行集群化軟件的安裝和管理,配置步驟包括生成SSH密鑰對(duì)并分發(fā)公鑰到其他服務(wù)器2025-11-11
Ubuntu安裝和卸載CUDA和CUDNN的實(shí)現(xiàn)
這篇文章主要介紹了Ubuntu安裝和卸載CUDA和CUDNN的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
從Centos7升級(jí)到Centos8的教程(圖文詳解)
這篇文章主要介紹了從Centos7升級(jí)到Centos8的教程,在升級(jí)之前需要配置備份,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-11-11

