linux命令hwclock,Centos Linux下使用date/clock/hwclock命令设置系统和硬件时间

博客迁移之后,没有注意新服务器的系统时间,今天突然感觉到不对,于是调了一下:

设置时间为2010年06月17日,命令如下

1

2

[root@hexuweb101~]$date-s06/17/2010

2. 设置时间为12点07分33秒,命令如下:

1

2

[root@hexuweb101~]$date-s12:07:33

一共两步可以实现:

(1)date -s

(2)clock -w

第一步的意思是设置时间,设置完了可以用date命令查看对不对…注意是月日时分年

第二步的意思是写入主板的rtc芯片..

第一部分设置系统时间:

下面介绍一下我参考的文档和一些命令:

Linux下使用date命令来查看和设置时间是相当方便的,本文就详细介绍date的用法。

该命令的一般格式为:

1

date[选项]显示时间格式(设置时以+开头,后面接格式)

date 设置时间格式命令中各选项的含义分别为:

1

2

3

-ddatestr,--datedatestr显示由datestr描述的日期

-sdatestr,--setdatestr设置datestr描述的日期

-u,--universal显示或设置通用时间

时间域列表:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

%H小时(00..23)

%I小时(01..12)

%k小时(0..23)

%l小时(1..12)

%M分(00..59)

%p显示出AM或PM

%r时间(hh:mm:ssAM或PM),12小时

%s从1970年1月1日00:00:00到目前经历的秒数

%S秒(00..59)

%T时间(24小时制)(hh:mm:ss)

%X显示时间的格式(%H:%M:%S)

%Z时区日期域

%a星期几的简称(Sun..Sat)

%A星期几的全称(Sunday..Saturday)

%b月的简称(Jan..Dec)

%B月的全称(January..December)

%c日期和时间(MonNov814:12:46CST1999)

%d一个月的第几天(01..31)

%D日期(mm/dd/yy)

%h和%b选项相同

%j一年的第几天(001..366)

%m月(01..12)

%w一个星期的第几天(0代表星期天)

%W一年的第几个星期(00..53,星期一为第一天)

%x显示日期的格式(mm/dd/yy)

%y年的最后两个数字(1999则是99)

%Y年(例如:1970,1996等)

注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。

一些常用使用例子:

1. 显示日期和时间

在字符界面下,除了可以显示年月之外,用户还可以使用“date”命令的功能是显示和设置系统日期和时间。需要特别说明的是,只有超级用户才能用“date”命令设置时间,一般用户只能用“date”命令显示时间。

1. 用指定的格式显示时间,命令如下:

1

2

[root@hexuweb101~]$date'+The date of today is:%x ,it is:%X '

#The date of today is:06/18/2010 ,it is:12:27:33 PM

其中% x 显示日期的格式(mm/dd/yy),% X 显示时间的格式(%H:%M:%S)。

其它参数可查看上面的date时间域的设置。

2. 设置日期和时间, -s是设置日期的参数。

1. 设置时间为2010年06月17日,命令如下:

1

2

[root@hexuweb101~]$date-s06/17/2010

#Thu Jun 17 00:00:00 CST 2010

2. 设置时间为12点07分33秒,命令如下:

1

2

[root@hexuweb101~]$date-s12:07:33

#Thu Jun 17 12:07:33 CST 2010

另外,“date”命令还有许多有用的参数,能够帮助用户随心所欲地设定和显示时间,例如%H显示小时(00..23)、%M显示分(00..59)、%p显示出AM或PM、%S显示秒(00..59)和%Z显示时区等。

注意,上面说的是系统时间,是linux由操作系统维护的。

3. 如果要确保修改生效可以执行如下命令:

1

[root@hexuweb101~]$clock-w

clock 命令的参数 -w 强制把系统时间写入CMOS。

第二部分是设置主板CMOS时间:

在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。

为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。

由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。

1.使用 hwclock或clock命令查看和设置硬件时钟

查看硬件时钟的操作:

1

[root@hexuweb101~]$hwclock--show

1

2

[root@hexuweb101~]$clock--show#### 我的系统Centos5.3,使用的此命令。

Thu17Jun201001:31:58PMCST-0.409750seconds

设置硬件时钟的操作:

1

[root@hexuweb101~]$hwclock--set--date="06/17/2010 13:26:00"

或者

1

[root@hexuweb101~]$clock--set--date="06/17/2010 13:26:00"#### 我的系统Centos5.3,使用的此命令。

通用的设置格式:hwclock/clock –set –date=“月/日/年 时:分:秒”。

2.同步系统时钟和硬件时钟

Linux系统(笔者使用的是Red Hat 8.0,其它系统没有做过实验)默认重启后,硬件时钟和系统时钟同步。如果不大方便重新启动的话(服务器通常很少重启),使用clock或hwclock 命令来同步系统时钟和硬件时钟。

硬件时钟与系统时钟同步:

1

[root@hexuweb101~]$hwclock--hctosys

或者

1

[root@hexuweb101~]$clock--hctosys#### 我的系统Centos5.3,使用的此命令。

上面命令中,–hctosys表示Hardware Clock to SYStem clock。

系统时钟和硬件时钟同步:

1

[root@hexuweb101~]$hwclock--systohc

或者

1

[root@hexuweb101~]$clock--systohc#### 我的系统Centos5.3,使用的此命令。

### 补充 ##############################

设置服务器时区:

1

2

3

4

5

6

7

8

9

10

11

12

## check CST Timezone

[root@hexuweb101~]$date

[root@hexuweb101~]$#Fri Nov  4 07:15:00 CST 2011

## 开始设置 UTC Timezone

[root@hexuweb101~]$cd/etc/

[root@hexuweb101~]$mvlocaltimelocaltime.bak

[root@hexuweb101~]$ln-s/usr/share/zoneinfo/UTC/etc/localtime

##check

[root@hexuweb101~]$date

[root@hexuweb101~]$#Fri, 04 Nov 2011 07:27:26 +0000

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值