學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > 如何使用命令行更改Linux系統(tǒng)的日期和時(shí)間

如何使用命令行更改Linux系統(tǒng)的日期和時(shí)間

時(shí)間: 孫勝龍652 分享

如何使用命令行更改Linux系統(tǒng)的日期和時(shí)間

  Linux 系統(tǒng)的時(shí)間有時(shí)候會(huì)不準(zhǔn),不準(zhǔn)確的時(shí)間會(huì)導(dǎo)致日志文件中的時(shí)間出現(xiàn)錯(cuò)誤,所以準(zhǔn)確的時(shí)間是很重要的,那么要怎么更改Linux 系統(tǒng)的時(shí)間呢?下面小編給大家介紹下使用命令行更改Linux系統(tǒng)時(shí)間和日期的方法步驟。

  問題: 在 Linux 上, 我怎樣通過命令行來改變?nèi)掌诤蜁r(shí)間?

  在 Linux 系統(tǒng)中保持日期和時(shí)間的同步是每一個(gè) Linux 用戶和系統(tǒng)管理員的重要責(zé)任。 很多程序都依靠精確的時(shí)間信息得以正常工作。 另外, 不精確的日期和時(shí)間會(huì)使得日志文件中的時(shí)間戳變得毫無意義, 減弱了它們?cè)谙到y(tǒng)檢查和檢修中的作用。 對(duì)于生產(chǎn)系統(tǒng)來說, 精確的日期和時(shí)間甚至更為重要。 例如, 在零售公司中, 所有產(chǎn)品必須時(shí)刻準(zhǔn)確地計(jì)數(shù)(并儲(chǔ)存在數(shù)據(jù)庫服務(wù)器中)以便于財(cái)政部門計(jì)算每天及每周,每月,每年的支出和收入。

  我們必須注意, 在 Linux 機(jī)器上有兩種時(shí)鐘:由內(nèi)核維持的軟件時(shí)鐘(又稱系統(tǒng)時(shí)鐘)和在機(jī)器關(guān)機(jī)后記錄時(shí)間的(電池供電的)硬件時(shí)鐘。 啟動(dòng)的時(shí)候,內(nèi)核會(huì)把系統(tǒng)時(shí)鐘與硬件時(shí)鐘同步。之后, 兩個(gè)時(shí)鐘各自獨(dú)立運(yùn)行。

  方法一: NTP

  另一種使系統(tǒng)日期和時(shí)間保持精確的方法是使用 NTP (網(wǎng)絡(luò)時(shí)間協(xié)議)。 在 Linux 上, ntpdate 命令通過 NTP 將系統(tǒng)時(shí)鐘和公共 NTP 服務(wù)器同步。

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

  在 Debian 及基于 Debian 的發(fā)行版上:

  # aptitude install ntpdate

  在基于 Ret Hat 的發(fā)行版上:

  # yum install ntpdate

  使用 NTP 同步系統(tǒng)時(shí)鐘:

  # ntpdate -u 《NTP 服務(wù)器名或IP》# hwclock --systohc

  除了一次性使用 ntpdate 來同步時(shí)鐘, 你也可以使用 NTP 守護(hù)進(jìn)程(ntpd), 它會(huì)始終在后臺(tái)運(yùn)行, 不斷地通過 NTP 來調(diào)整系統(tǒng)時(shí)鐘。

  方法二: Date 命令

  在 Linux 中, 你可以通過 date 命令來更改系統(tǒng)的日期和時(shí)間:

  # date --set=‘NEW_DATE’

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

  日期格式也可以手動(dòng)指定以獲得更精確的結(jié)果:

  # date +FORMAT --set=‘NEW_DATE’

  例如:

  # date +’%Y%m%d %H%m’ --set=‘20140928 1518’

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

  # date --set=‘+5 minutes’# date --set=‘-2 weeks’# date --set=‘+3 months’# date --set=‘-3 months +2 weeks -5 minutes’

  最后, 把硬件時(shí)鐘設(shè)置為當(dāng)前系統(tǒng)時(shí)鐘:

  # hwclock --systohc

  運(yùn)行 hwclock --systohc 的目的是將硬件時(shí)鐘同軟件時(shí)鐘同步, 這可以更正硬件時(shí)鐘的系統(tǒng)漂移(即時(shí)鐘按照一定的速度走快或走慢)。

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

  # hwclock --hctosys

  在兩種情況下, hwclock 命令都是將兩個(gè)時(shí)鐘同步。 否則, 重啟后時(shí)間會(huì)是錯(cuò)誤的, 因?yàn)楫?dāng)電源關(guān)閉時(shí)硬件時(shí)鐘會(huì)記憶時(shí)間。 然而, 這對(duì)于虛擬機(jī)器并不適用, 因?yàn)樘摂M機(jī)器并不能訪問硬件時(shí)鐘。

  上面就是使用命令行更改Linux系統(tǒng)日期和時(shí)間的方法介紹了,如果你想用命令行修改Linux系統(tǒng)的話,不妨試試上面介紹的方法步驟吧。

304063