Linux 有問必答:在 Linux 上如何通過命令行來更改日期和時間
方法一: Date 命令
在 Linux 中, 你可以通過 date 命令來更改系統的日期和時間:
# date --set='NEW_DATE'
其中 NEW_DATE 是諸如 "Sun, 28 Sep 2014 16:21:42" 或者 "2014-09-29 16:21:42" 的可讀格式的日期字元串.
日期格式也可以手動指定以獲得更精確的結果:
# date +FORMAT --set='NEW_DATE'
例如:
# date +』%Y%m%d %H%m』 --set='20140928 1518'
你也可以用相對的方式地增加或減少一定的天數,周數,月數和秒數,分鐘數,小時數。 你也可以把日期和時間的參數放到一個命令中。
# date --set='+5 minutes'
# date --set='-2 weeks'
# date --set='+3 months'
# date --set='-3 months +2 weeks -5 minutes'
# hwclock --systohc
運行 hwclock --systohc 的目的是將硬體時鐘同軟體時鐘同步, 這可以更正硬體時鐘的系統漂移(即時鐘按照一定的速度走快或走慢).
另一方面, 如果硬體時鐘是正確的, 但系統時鐘有誤, 可以用下面的命令更正:
# hwclock --hctosys
在兩種情況下, hwclock 命令都是將兩個時鐘同步. 否則, 重啟後時間會是錯誤的, 因為當電源關閉時硬體時鐘會記憶時間. 然而, 這對於虛擬機器並不適用, 因為虛擬機器並不能訪問硬體時鐘.
如果你的 Linux 系統上的默認時區是錯誤的, 你可以按照這個指導進行更正.
方法二: NTP
另一種使系統日期和時間保持精確的方法是使用 NTP (網路時間協議). 在 Linux 上, ntpdate 命令通過 NTP 將系統時鐘和公共 NTP 伺服器同步.
你可以使用如下命令來安裝 ntpdate:
在 Debian 及基於 Debian 的發行版上:
# aptitude install ntpdate
在基於 Ret Hat 的發行版上:
# yum install ntpdate
使用 NTP 同步系統時鐘:
# ntpdate -u <NTP 伺服器名或IP>
# hwclock --systohc
除了一次性使用 ntpdate 來同步時鐘, 你也可以使用 NTP 守護進程(ntpd), 它會始終在後台運行, 不斷地通過 NTP 來調整系統時鐘. 關於 NTP 的設置, 請參考這個指導.
via: http://ask.xmodulo.com/change-date-time-command-line-linux.html
譯者:wangjiezhe 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive