修改系统时间。
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″