just_a_coder

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Linux下的时间设置,每次重启都不正确

  最近在工作中遇到一个非常奇怪的问题,是关于设置时间。设定好系统时间后,重新启动我的RedHat5.2,时间居然还是错了。由于数据库要在特定的时间点进行数据转移,所以这个时间必须设定好,不能每次重启都自己重新设定。

  秉着凡事不会问google的原则,搜索了下,发现可能是硬件时间与系统时间不一致导致的。所以立即尝试,首先设定好系统时间,然后hwclock -w,同步下系统时间和硬件时间。好,本来还以为这样就凡事OK了,reboot,等待了3分钟,期待中的事没有发生,时间依然不对。

  这回有点怒不可遏了,开始怀疑系统是不是有问题,甚至想重装系统。事实证明还是耐心一点好,setup之后我查看了时间设置,一个UTC选项引起了我的注意。事实上我并不知道UTC是什么东西,google之后才发现,时间设置不对完全跟这个UTC有关。

  先介绍下UTC。众所周知,世界上有24个时区,为了管理这些时间不至于混乱,就出现UTC时间。UTC时间以格林尼治时间为基准,其他时区的时间都是在基准时间的基础上增减若干个小时。例如我们是东八区,要在格林尼治时间的基础上加上八小时才是我们东八区的时间。也就是说我们东八区的UTC时间是基准时间+8小时。

  回想下具体情况,在设定好系统时间后,重启显示的时间是刚才设定的时间+8。这样问题就很明朗了,我设定的时间是0区的UTC时间,例如我设定一个27日21点,那么转成我们北京时间应该是28日05点。然后看了看设定的时区,确实不对,改成东八区,然后把UTC的选项去掉,然后再次重启。这回的期待没有白费,日期时间上赫然写着27日9点,好,就是如此,搞定睡觉。s

posted on 2010-07-27 23:19  justacoder  阅读(1168)  评论(0编辑  收藏  举报