我在服务器上设置日期时遇到问题…
$ls -la /etc | grep localtime lrwxrwxrwx 1 root root 23 Mar 6 12:07 /etc/localtime -> /usr/share/zoneinfo/GMT
出于某种原因,虽然时间17:31:06是GMT,但时区后缀是EST …
$date Tue Mar 6 17:31:06 EST 2012
并且硬件时钟也搞砸了 – 10:32:12不是EST:
$hwclock --show Tue 06 Mar 2012 10:32:12 PM EST -0.000276 seconds
如果我将hwclock设置为系统时间或本地时间,则会将其设置为错误:
$hwclock --localtime Tue 06 Mar 2012 10:34:22 PM EST -0.000190 seconds $date Tue Mar 6 17:34:24 EST 2012
知道发生了什么事吗?
谢谢
处理时间时不会疯狂的三个简单规则:
第一:您正在运行Unix(可能是NTP):确保已将系统的BIOS /硬件时钟设置为UTC.
你需要的绝对最后一件事是你的硬件(BIOS)时钟与Unix战斗,时区是正确的,夏令时开始/结束时.将硬件时钟设置为UTC可以使生活更轻松.
第二:当您更改系统范围的时区时,有时需要注销并重新登录,以便系统了解发生的情况.一般来说,我建议重新启动 – 这可以确保操作系统的每个部分都被踢出头来理解发生了什么.
当您将机器的时区更改为夏威夷时,您不希望cron仍然在美国/东部时间运行.
第三:如果您的用户帐户仍然对时区有一些混乱的想法可能会设置TZ环境变量 – 请仔细检查.profile和shell rc文件.Unix并不假设系统中的每个用户都在本地时区,因此它允许您覆盖每个用户(或每个shell)级别.如果您的系统在(例如)美国/东部时间运行并且您有用户从日本登录,这非常有用 – 人们喜欢他们的系统报告的时间与他们墙上的时钟相匹配:)