linux cst时间转换,linux系统中CST与EDT时间转换以及系统时间与网络时间同步

初始时间:2012年 09月 14日 星期五 18:15:33EDT

[root@test ~]# mv /etc/localtime /etc/localtime.bak

[root@test ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

[root@test ~]# date

修改后的时间:

2012年 09月 15日 星期六 18:25:00 CST

[root@tzyyserveryg ~]# date -R

Fri, 28 Nov 2014 08:35:37 +0800

[root@tzyyserveryg ~]# cat /etc/sysconfig/clock

# The time zone of the system is defined by the contents of

/etc/localtime.

# This file is only for evaluation by system-config-date, do not

rely on its

# contents elsewhere.

ZONE="Asia/Shanghai"

[root@tzyyserveryg ~]#

=================================================

修改日期:

时间设定成2009年5月10日的命令如下:

#date -s 05/10/2009

修改时间:

将系统时间设定成上午10点18分0秒的命令如下。

#date -s 10:18:00

=================================================

linux系统修改CST时区:

=================================================

初始时间:2012年 09月 14日 星期五 18:15:33 EDT

[root@test ~]# mv /etc/localtime /etc/localtime.bak

[root@test ~]# ln -s

/usr/share/zoneinfo/Asia/Shanghai /etc/localtime

[root@test ~]# date

修改后的时间:

2012年 09月 15日 星期六 18:25:00 CST

=================================================

修改命令:tzselect

保存:hwclock

-w

=================================================

系统时间变化原因分析

Linux的时间有两种,一是系统时间,另外是硬件时间(BIOS时间)。

系统每次启动时会读出BIOS时间,将之赋给系统时间。之后系统时间将独立运行,而BIOS时间不会变化。

在BIOS时间中,有两种表示形式。一种是以localtime表示的,一种是以UTC表示的。具体查看的方式可以通过hwclock

–debug,该命令可以输出当前硬件时间的表示形式。

下面例举各种情况下系统时间的变化:

1.当hwclock设定为localtime,/etc/sysconf/clock 中的

UTC=true时,重启后系统时间后相对于BIOS时间被提前8个小时。

2.当hwclock设定为localtime,/etc/sysconf/clock中的

UTC=false时,重启后系统时间相对于BIOS时间没有变化

3.当hwclock设定为UTC,/etc/sysconf/clock 中的

UTC=true时,重启后系统时间后相对于BIOS时间无变化

4.当hwclock设定为UTC,/etc/sysconf/clock 中的

UTC=false时,重启后系统时间后相对于BIOS时间被推后8个小时。

如下图所示:

/etc/sysconf/clock中UTC=true

/etc/sysconf/clock中UTC=false

硬件时间 localtime

重启后系统时间后相对于BIOS时间被提前8个小时

系统时间无变化

硬件时间

UTC

系统时间无变化

重启后系统时间后相对于BIOS时间被推后8个小时

可见,当BIOS时间设置的类型和 /etc/sysconf/clock中的设置不一致时,就会导致系统启动时的系统时间错误。

如果有脚本实现时间同步,但是系统启动之后运行的。虽然时间同步可以将系统时间同步到正确时间,但是由于之前的系统时间错误设定,将会出现一个错误的时间间隔,这个时间间隔可能会对依赖系统时间的程序产生影响。

对策:出现这种问题的根本原因是硬件时间的类型和

/etc/sysconf/clock中的设置不一致。所以我们将在时间同步脚本中增加对硬件时间的同步,这样可以解决这种问题。

注:

UTC时间:世界协调时间(Universal Time Coordinated,UTC) ,也就是0时区的时间

CST时间:CST China Standard Time UTC+8:00

中国沿海时间(北京时间),这是我们所属时区的localtime。

2.关于时区的设置:

为保证时间的正确,应该把时区设置正确。设置正确仅是为了使得时间更好理解和其他方面的维护。

设置方法:

1.      手动设置时区:

例如:设置东八区的时间

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

编辑/etc/sysconfig/clock中 ZONE="Asia/Shanghai"

2.       使用图形化命令设置

system-config-date (大部分情况仅限于RedHat和CentOS)或者使用

tzselect,按照命令提示进行即可。

===================================================================

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值