我在设置我的服务器上的date时遇到问题…
$ 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会使生活变得更加简单。
第二:当您更改系统范围的时区时,您有时需要注销并重新login,以便系统了解发生的情况。 一般来说,我build议重新启动 – 这确保了操作系统的每个部分都被踢了头,理解发生了什么。
当您将机器的时区更改为夏威夷时,您不希望cron仍在美国/东部时间运行。
第三:如果你的用户帐户仍然有一个混乱的时区的想法可能是设置TZ环境variables – 仔细检查你的.profile和shell rc文件。
Unix不假定系统上的每个用户都在本地时区,所以它可以让你覆盖每个用户(或每个shell)级别。 如果你的系统在美国/东部时间运行,并且你有用户从日本login – 这是非常有用的 – 人们喜欢他们的系统报告的时间来匹配他们的墙上的时钟:)
问题是设置hwclock到系统时间,反之亦然(我正在摆弄)实际上修改/ usr / share / zoneinfo中的时区文件。 我不得不从另一台服务器复制新的zoneinfo文件。
所以我只能说不要把系统时钟设置为硬件时钟,反之亦然( hwclock --systohc , hwclock --systohc )除非你知道你在做什么!