在 Debian 系統中,同步時間最推薦且現代的方法是使用系統內建的 systemd-timesyncd 服務。它輕量、穩定,且不需要安裝額外的 NTP 套件。
以下是常見的操作方法:
1. 使用 systemd-timesyncd (推薦)
Debian 預設已安裝此服務。你可以透過 timedatectl 指令進行管理。
檢查當前狀態
timedatectl status
確保 "System clock synchronized: yes" 且 "NTP service: active"。
啟用 NTP 同步
如果尚未啟用,請執行:
sudo timedatectl set-ntp true
修改 NTP 伺服器 (選填)
若想更換同步伺服器(例如改為 Google 或 Cloudflare),請編輯設定檔:
sudo nano /etc/systemd/timesyncd.conf
找到 [Time] 區塊並修改:
[Time]
NTP=pool.ntp.org 8.8.8.8
FallbackNTP=time.google.com
修改後重啟服務:
sudo systemctl restart systemd-timesyncd
2. 設定時區 (Timezone)
如果時間正確但「小時」不對,通常是時區設定問題。
查看可用時區
timedatectl list-timezones | grep Taipei
設定時區
sudo timedatectl set-timezone Asia/Taipei
3. 傳統方法:使用 ntpdate (一次性同步)
如果你只需要「現在立刻」強制同步一次,而不想要背景服務,可以使用 ntpdate。
安裝工具:
sudo apt update && sudo apt install ntpdate -y手動同步:
sudo ntpdate pool.ntp.org
(注意:如果 systemd-timesyncd 正在執行,ntpdate 可能會因端口占用而失敗。)
4. 進階需求:使用 Chrony
如果你的伺服器對時間精度要求極高(例如金融交易或資料庫叢集),建議使用 Chrony。
安裝:
sudo apt install chrony -y啟動並設定自啟:
sudo systemctl enable --now chrony檢查同步狀態:
chronyc tracking
常用指令彙總表
| 目的 | 指令 |
|---|---|
| 查看當前時間與狀態 | timedatectl |
| 開啟網路時間同步 | sudo timedatectl set-ntp true |
| 更改時區 | sudo timedatectl set-timezone [時區名稱] |
| 手動查看硬體時間 (RTC) | sudo hwclock --show |
| 將系統時間寫入硬體 | sudo hwclock --systohc |
提示: 對於大部分的 VPS 或實體伺服器,使用timedatectl搭配預設的systemd-timesyncd就已經完全足夠且最省資源。
评论区
还没有人评论