歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在 Linux 上通過命令行來更改日期和時間

在 Linux 上通過命令行來更改日期和時間

日期:2017/2/28 14:26:07   编辑:Linux教程

問題: 在 Linux 上, 我怎樣通過命令行來改變日期和時間?

在 Linux 系統中保持日期和時間的同步是每一個 Linux 用戶和系統管理員的重要責任. 很多程序都依靠精確的時間信息得以正常工作. 另外, 不精確的日期和時間會使得日志文件中的時間戳變得毫無意義, 減弱了它們在系統檢查和檢修中的作用. 對於生產系統來說, 精確的日期和時間甚至更為重要. 例如, 在零售公司中, 所有產品必須時刻准確地計數(並儲存在數據庫服務器中)以便於財政部門計算每天及每周,每月,每年的支出和收入.

我們必須注意, 在 Linux 機器上有兩種時鐘: 由內核維持的軟件時鐘(又稱系統時鐘)和在機器關機後記錄時間的(電池供電的)硬件時鐘. 啟動的時候, 內核會把系統時鐘與硬件時鐘同步. 之後, 兩個時鐘各自獨立運行.

方法一: Date 命令

在 Linux 中, 你可以通過 date 命令來更改系統的日期和時間:

  1. # date --set='NEW_DATE'

其中 NEW_DATE 是諸如 "Sun, 28 Sep 2014 16:21:42" 或者 "2014-09-29 16:21:42" 的可讀格式的日期字符串.

日期格式也可以手動指定以獲得更精確的結果:

  1. # date +FORMAT --set='NEW_DATE'

例如:

  1. # date +’%Y%m%d %H%m’ --set='20140928 1518'

你也可以用相對的方式地增加或減少一定的天數,周數,月數和秒數,分鐘數,小時數。 你也可以把日期和時間的參數放到一個命令中。

  1. # date --set='+5 minutes'
  2. # date --set='-2 weeks'
  3. # date --set='+3 months'
  4. # date --set='-3 months +2 weeks -5 minutes'

最後, 把硬件時鐘設置為當前系統時鐘:

  1. # hwclock --systohc

運行 hwclock --systohc 的目的是將硬件時鐘同軟件時鐘同步, 這可以更正硬件時鐘的系統漂移(即時鐘按照一定的速度走快或走慢).

另一方面, 如果硬件時鐘是正確的, 但系統時鐘有誤, 可以用下面的命令更正:

  1. # hwclock --hctosys

在兩種情況下, hwclock 命令都是將兩個時鐘同步. 否則, 重啟後時間會是錯誤的, 因為當電源關閉時硬件時鐘會記憶時間. 然而, 這對於虛擬機器並不適用, 因為虛擬機器並不能訪問硬件時鐘.

如果你的 Linux 系統上的默認時區是錯誤的, 你可以按照這個指導進行更正.

方法二: NTP

另一種使系統日期和時間保持精確的方法是使用 NTP (網絡時間協議). 在 Linux 上, ntpdate 命令通過 NTP 將系統時鐘和公共 NTP 服務器同步.

你可以使用如下命令來安裝 ntpdate:

在 Debian 及基於 Debian 的發行版上:

  1. # aptitude install ntpdate

在基於 Ret Hat 的發行版上:

  1. # yum install ntpdate

使用 NTP 同步系統時鐘:

  1. # ntpdate -u <NTP 服務器名或IP>
  2. # hwclock --systohc

除了一次性使用 ntpdate 來同步時鐘, 你也可以使用 NTP 守護進程(ntpd), 它會始終在後台運行, 不斷地通過 NTP 來調整系統時鐘。 關於 NTP 的設置,請參考下面的連接。

CentOS NTP服務器安裝與配置 http://www.linuxidc.com/Linux/2014-01/95258.htm

Linux實戰部署系列之NTP服務器 http://www.linuxidc.com/Linux/2013-11/92275.htm

多種操作系統NTP客戶端配置 http://www.linuxidc.com/Linux/2013-10/91928.htm

搭建企業級NTP時間服務器 http://www.linuxidc.com/Linux/2014-02/97205.htm

Linux下快速搭建ntp時間同步服務器 http://www.linuxidc.com/Linux/2014-07/104371.htm

Copyright © Linux教程網 All Rights Reserved