Redhat Enterprise Linux 7:如何禁用 DST - 夏令时

Kin*_*vid 0 redhat time date utc

我们在一个集群中有 16 个 Linux RHEL 7.5 服务器,并且服务器与 crony 服务同步到 NTP 服务器

我们有两个问题

  1. 如何知道我们的服务器上是否配置了 DST?

  2. 如何在我们的 Redhat Enterprise Linux 7 服务器上禁用 DST?

Mic*_*ton 6

您不会禁用 DST 本身,而是设置所需的时区,如果时区有 DST,您将获得 DST。

您可以使用 来检查配置的时区timedatectl

如果您的时区有夏令时,您会看到如下内容:

[root@stonard ~]# timedatectl 
      Local time: Sat 2020-06-20 18:27:30 EDT
  Universal time: Sat 2020-06-20 22:27:30 UTC
        RTC time: Sat 2020-06-20 22:27:30
       Time zone: America/New_York (EDT, -0400)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2020-03-08 01:59:59 EST
                  Sun 2020-03-08 03:00:00 EDT
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2020-11-01 01:59:59 EDT
                  Sun 2020-11-01 01:00:00 EST
Run Code Online (Sandbox Code Playgroud)

否则你会看到这样的东西:

[root@farshire ~]# timedatectl 
      Local time: Sat 2020-06-20 22:26:50 GMT
  Universal time: Sat 2020-06-20 22:26:50 UTC
        RTC time: Sat 2020-06-20 22:26:50
       Time zone: Etc/GMT (GMT, +0000)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
Run Code Online (Sandbox Code Playgroud)

要更改时区,请使用timedatectl set-timezone ZONE,其中 ZONE 是有效的 zoneinfo 区域。例如:

# timedatectl set-timezone Europe/Kiev
Run Code Online (Sandbox Code Playgroud)

  • @KingDavid 该信息由相关国家政府提供给 zoneinfo 维护者。然后他们更新 zoneinfo 数据库,你会收到对 `tzdata` 包的更新,你可以用 `yum` 更新。 (3认同)
  • @KingDavid 不,你应该保持 `tzdata` 包是最新的。 (3认同)
  • 如果您的应用程序不需要将时区设置为本地时间,那么您可以像大多数服务器一样使用 UTC,而无需考虑 DST。如果您的应用程序确实需要将时区设置为本地时间,那么您应该安排在出现影响您的时区的更新时更新 `tzdata`。 (3认同)
  • @KingDavid 如果您没有更新 `tzdata` 包,那么您的夏令时日期可能有误。 (2认同)
  • 当您需要处理本地时区中的时间时,您可以使用 DST。如果您不需要这个,只需使用 UTC。 (2认同)