修改系統時間。
linux系統時鍾有兩個,一個是硬體時鍾,即BIOS時間,就是我們進行CMOS設置時看到的時間,另一個是系統時鍾,是linux系統Kernel時間。當Linux啟動時,系統Kernel會去讀取硬體時鍾的設置,然後系統時鍾就會獨立於硬體運作。有時我們會發現系統時鍾和硬體時鍾不一致,因此需要執行時間同步,下面就分享一下時間設置及時鍾同步的命令使用方法。
date命令將日期設置為2014年6月18日
---- date -s 06/18/14
將時間設置為14點20分50秒
---- date -s 14:20:50
將時間設置為2014年6月18日14點16分30秒(MMDDhhmmYYYY.ss)
----date 0618141614.30
2. Linux date 顯示設置時間命令學習
概要:
date命令的功能是顯示和設置系統日期和時間
命令格式:
date
[OPTION]...
[+FORMAT]
date
[-u|--utc|--universal]
[MMDDhhmm[[CC]YY][.ss]]
參數:
-d
STRING:顯示由
STRING
描述的日期
-s
STRING:
設置由
STRING
描述的日期
%Y
年(例如:1970,2009等)
%y
年的最後兩個數字(1988則是88)
%m
月(01..12)
%d
一個月的第幾天(01..31)
%H
小時(00..23)
%I
小時(01..12)
%k
小時(0..23)
%l
小時(1..12)
%p
顯示出AM或PM
%M
分(00..59)
%S
秒(00..59)
%r
時間(hh:mm:ss
AM或PM),12小時
%T
時間(24小時制)(hh:mm:ss)
%X
顯示時間的格式(%H:%M:%S)
%x
顯示日期的格式(mm/dd/yy)
%D
日期(mm/dd/yy)
%s
從1970年1月1日00:00:00到目前經歷的秒數
常用的就這些,剩下的直接查man就好了...
例子:
1、今天中午有個時間很特別,2009-08
07
12:34:56,用下面這個格式就可以顯示出12/34/56/7/8/9這種格式。其中"-"可以忽略首位的"0"。
date
+'%I/%M/%S/%-d/%-m/%-y'
2、設置年月日為20090807,時間為00:00
date
-s
20090807
3、設置時間,不改變日期
date
-s
16:02:23
4、設置日期及時間
date
-s
"20090807
16:02:23"
5、查看100天又5小時前的具體時間
date
-d
"-1
day
5
hour"
+"%Y-%m-%d
%H:%M:%S"
6、查看100分鍾後的時間
date
-d
"+100
min"
+"%Y-%m-%d
%H:%M:%S"
7、計算時間戳
date
-d
20090528
+%s
8、還原時間戳
date
-d
"1970-01-01
1243440000
sec
GMT"
+"%F
%T"
9、利用NTP協議在線更新系統時間
ntpdate
210.72.145.44
3. LINUX系統時間怎麼設置同步腳本或命令
使用crontab定時任務crontab-e進入編輯基本格式:*****command分時日月周命令第1列表示分鍾1~59每分鍾用*或者*/1表示第2列表示小時1~23(0表示0點)第3列表示日期1~31第4列表示月份1~12第5列標識號星期0~6(0表示星期天)第6列要運行的命令crontab文件的一些例子:3021***/usr/local/etc/rc.d/lighttpdrestart上面的例子表示每晚的21:30重啟apache。4541,10,22**/usr/local/etc/rc.d/lighttpdrestart上面的例子表示每月1、10、22日的4:45重啟apache。101**6,0/usr/local/etc/rc.d/lighttpdrestart上面的例子表示每周六、周日的1:10重啟apache。0,3018-23***/usr/local/etc/rc.d/lighttpdrestart上面的例子表示在每天18:00至23:00之間每隔30分鍾重啟apache。023**6/usr/local/etc/rc.d/lighttpdrestart上面的例子表示每星期六的11:00pm重啟apache。**/1***/usr/local/etc/rc.d/lighttpdrestart每一小時重啟apache*23-7/1***/usr/local/etc/rc.d/lighttpdrestart晚上11點到早上7點之間,每隔一小時重啟apache0114*mon-wed/usr/local/etc/rc.d/lighttpdrestart每月的4號與每周一到周三的11點重啟apache041jan*/usr/local/etc/rc.d/lighttpdrestart一月一號的4點重啟apache名稱:crontab使用許可權:所有使用者使用方式:crontabfile[-uuser]-用指定的文件替代目前的crontab。crontab-[-uuser]-用標准輸入替代目前的crontab.crontab-1[user]-列出用戶目前的crontab.crontab-e[user]-編輯用戶目前的crontab.crontab-d[user]-刪除用戶目前的crontab.crontab-cdir-指定crontab的目錄。crontab文件的格式:MHDmdcmd.M:分鍾(0-59)。H:小時(0-23)。D:天(1-31)。m:月(1-12)。d:一星期內的天(0~6,0為星期天)。cmd要運行的程序,程序被送入sh執行,這個shell只有USER,HOME,SHELL這三個環境變數說明:crontab是用來讓使用者在固定時間或固定間隔執行程序之用,換句話說,也就是類似使用者的時程表。-uuser是指設定指定user的時程表,這個前提是你必須要有其許可權(比如說是root)才能夠指定他人的時程表。如果不使用-uuser的話,就是表示設定自己的時程表。參數:crontab-e:執行文字編輯器來設定時程表,內定的文字編輯器是VI,如果你想用別的文字編輯器,則請先設定VISUAL環境變數來指定使用那個文字編輯器(比如說setenvVISUALjoe)crontab-r:刪除目前的時程表crontab-l:列出目前的時程表crontabfile[-uuser]-用指定的文件替代目前的crontab。時程表的格式如下:f1f2f3f4f5program其中f1是表示分鍾,f2表示小時,f3表示一個月份中的第幾日,f4表示月份,f5表示一個星期中的第幾天。program表示要執行的程序。當f1為*時表示每分鍾都要執行program,f2為*時表示每小時都要執行程序,其餘類推當f1為a-b時表示從第a分鍾到第b分鍾這段時間內要執行,f2為a-b時表示從第a到第b小時都要執行,其餘類推當f1為*/n時表示每n分鍾個時間間隔執行一次,f2為*/n表示每n小時個時間間隔執行一次,其餘類推當f1為a,b,c,時表示第a,b,c,分鍾要執行,f2為a,b,c,時表示第a,b,c個小時要執行,其餘類推使用者也可以將所有的設定先存放在檔案file中,用crontabfile的方式來設定時程表。例子:#每天早上7點執行一次/bin/ls:07***/bin/ls在12月內,每天的早上6點到12點中,每隔3個小時執行一次/usr/bin/backup:06-12/3*12*/usr/bin/backup周一到周五每天下午5:00寄一封信給[email protected]:017**1-5mail-s"hi"[email protected]/dev/null2>&1即可例子2:#每天早上6點10分106***date#每兩個小時0*/2***date#晚上11點到早上8點之間每兩個小時,早上8點023-7/2,8***date#每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點0114*mon-weddate#1月份日早上4點041jan*date範例$crontab-l列出用戶目前的crontab。
4. 如何使用命令行更改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=『 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 命令都是將兩個時鍾同步。 否則, 重啟後時間會是錯誤的, 因為當電源關閉時硬體時鍾會記憶時間。 然而, 這對於虛擬機器並不適用, 因為虛擬機器並不能訪問硬體時鍾。
方法二: 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 來調整系統時鍾。
5. Linux命令如何修改文件的三個時間
touch [OPTION]... FILE... 修改文件時間戳
其實touch命令不僅可以修改文件時間戳,還可以創建文件。即當touch後的文件名不存在時,系統會自動創建文件。
一般默認會將文件的訪問時間和內容修改時間更新到當前時間。
-a 只改變訪問時間
-m 只改變內容修改時間
-c 不創建任何文件
-d 設置修改的時間
-t 用[[CC]YY]MMDDhhmm[.SS]
格式代替當前時間
cc 指定年份的前兩位數字。
yy 指定年份的後兩位數字。
mm指定一年的哪一月(從 01 到 12)。
dd指 定一月的哪一天(從 01 到 31)。
hh指 定一天中的哪一小時(從 00 到 23)。
mm指 定一小時的哪一分鍾(從 00 到 59)。
ss指定一分鍾的哪一秒(從 00 到 59)。
6. linux系統用命令行改時間
恩 date -s 只是臨時修改系統時間。
你還需要執行:
clock -w
將數據寫如CMOS晶元。
另外圖形環境下:圖形界面的時間顯示有它自己的時鍾,並不是和系統時間即時同步(隔一段時間同步一次。所以立刻切回圖形界面不能看到效果。)。
你需要重新登錄圖形界面。或者在圖形界面下開個終端。使用date 命令查看時間。
7. Linux怎樣修改系統時間
使用「date -s」命令來修改系統時間
比如將系統時間設定成2007年8月1日的命令如下。
[root@localhost root]# date -s 08/01/2005
將系統時間設定成下午5點10分0秒的命令如下。
[root@localhost root]# date -s 17:10:00
這里說的是系統時間,是linux由操作系統維護的。
在系統啟動時,Linux操作系統將時間從CMOS中讀到系統時間變數中,以後修改時間通過修改系統時間實現。為了保持系統時間與CMOS時間的一致性,Linux每隔一段時間會將系統時間寫入CMOS。由於該同步是每隔一段時間(大約是11分鍾)進行的,在我們執行date -s後,如果馬上重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的原因。
如果要確保修改生效可以執行如下命令。
[root@localhost root]# clock -w
或者
[root@localhost root]# hwclock
這個命令強制把系統時間寫入CMOS。
***************************************************************************
Linux時鍾的分類
Windows時鍾大家可能十分熟悉了,Linux時鍾在概念上類似Windows時鍾顯示當前系統時間,但在時鍾分類和設置上卻和Windows大相徑庭。和Windows不同的是,Linux將時鍾分為系統時鍾(System Clock)和硬體(Real Time Clock,簡稱RTC)時鍾兩種。系統時間是指當前Linux Kernel中的時鍾,而硬體時鍾則是主板上由電池供電的那個主板硬體時鍾,這個時鍾可以在BIOS的「Standard BIOS Feture」項中進行設置。
既然Linux有兩個時鍾系統,那麼大家所使用的Linux默認使用哪種時鍾系統呢?會不回出現兩種系統時鍾沖突的情況呢?這些疑問和擔心不無道理。首先,Linux並沒有默認哪個時鍾系統。當Linux啟動時,硬體時鍾會去讀取系統時鍾的設置,然後系統時鍾就會獨立於硬體運作。
從Linux啟動過程來看,系統時鍾和硬體時鍾不會發生沖突,但Linux中的所有命令(包括函數)都是採用的系統時鍾設置。不僅如此,系統時鍾和硬體時鍾還可以採用非同步方式,見圖1所示,即系統時間和硬體時間可以不同。這樣做的好處對於普通用戶意義不大,但對於Linux網路管理員卻有很大的用處。例如,要將一個很大的網路中(跨越若干時區)的伺服器同步,假如位於美國紐約的Linux伺服器和北京的Linux伺服器,其中一台伺服器無須改變硬體時鍾而只需臨時設置一個系統時間,如要將北京伺服器上的時間設置為紐約時間,兩台伺服器完成文件的同步後,再與原來的時鍾同步一下即可。這樣系統和硬體時鍾就提供了更為靈活的操作。
設置Linux的時鍾
在Linux中,用於時鍾查看和設置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不過clock命令除了支持x86硬體體系外,還支持Alpha硬體體系。由於目前絕大多數用戶使用x86硬體體系,所以可以視這兩個命令為一個命令來學習。
1.在虛擬終端中使用date命令來查看和設置系統時間
查看系統時鍾的操作:
# date
設置系統時鍾的操作:
# date 091713272003.30
通用的設置格式:
# date 月日時分年.秒
2.使用hwclock或clock命令查看和設置硬體時鍾
查看硬體時鍾的操作:
# hwclock --show 或
# clock --show
2003年09月17日 星期三 13時24分11秒 -0.482735 seconds
設置硬體時鍾的操作:
# hwclock --set --date="09/17/2003 13:26:00"
或者
# clock --set --date="09/17/2003 13:26:00"
通用的設置格式:hwclock/clock --set --date=「月/日/年 時:分:秒」。
3.同步系統時鍾和硬體時鍾
Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有做過實驗)默認重啟後,硬體時鍾和系統時鍾同步。如果不大方便重新啟動的話(伺服器通常很少重啟),使用clock或hwclock命令來同步系統時鍾和硬體時鍾。
硬體時鍾與系統時鍾同步:
# hwclock --hctosys
或者
# clock --hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
系統時鍾和硬體時鍾同步:
# hwclock --systohc
或者
# clock --systohc
8. 使用命令行怎麼更改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 命令都是將兩個時鍾同步。 否則, 重啟後時間會是錯誤的, 因為當電源關閉時硬體時鍾會記憶時間。 然而, 這對於虛擬機器並不適用, 因為虛擬機器並不能訪問硬體時鍾。
方法二: 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 來調整系統時鍾。
9. 如何修改linux的系統時間
可以使用date命令。date用於列印或設置系統日期和時間。
設置系統時間需要root許可權。用法示例:
設置系統日期成2015年08月13日,這樣會把具體時間設置清空成00:00:00
$ sudo date -s 20150813
設置系統時間為12:23:23
$ sudo date -s 12:23:23
同時設置日期和時間
$ sudo date -s "20150813 12:12:23″