community.general.timezone 模块 – 配置时区设置

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定:community.general.timezone

概要

  • 此模块配置时区设置,包括系统时钟和硬件时钟。如果您想设置 NTP,请使用 ansible.builtin.service 模块。

  • 建议在更改时区后重启 crond,否则作业可能会在错误的时间运行。

  • 根据所涉及的操作系统/发行版,使用几种不同的工具。对于 Linux,它可以使用 timedatectl 或编辑 /etc/sysconfig/clock/etc/timezonehwclock。在 SmartOS 上,使用 sm-set-timezone,对于 macOS,使用 systemsetup,对于 BSD,修改 /etc/localtime。在 AIX 上,使用 chtz

  • 确保使用适当的操作系统软件包(如 tzdata)安装了 zoneinfo 文件(通常在使用 Alpine Linux 等最小安装时始终安装)。

  • 不支持 Windows 和 HPUX,如果您发现其他任何失败的操作系统/发行版,请告知我们。

参数

参数

说明

hwclock

别名:rtc

字符串

硬件时钟是否使用 UTC 或本地时区。

默认为保留当前设置。

请注意,建议不要更改此选项,并且可能无法配置,尤其是在 AWS 等虚拟环境中。

至少需要 name 和 hwclock 中的一个。

仅在 Linux 上使用。

选项

  • "local"

  • "UTC"

name

字符串

系统时钟的时区名称。

默认为保留当前设置。

至少需要 name 和 hwclock 中的一个。

属性

属性

支持

描述

check_mode

支持: 完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持: 完全

在差异模式下,当需要更改时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

备注

注意

  • 在 Ubuntu 24.04 上,需要 util-linux-extra 包来提供 hwclock 命令。

  • 在 SmartOS 上,需要 sm-set-timezone 实用程序(smtools 包的一部分)来设置区域时区。

  • 在 AIX 上,仅可使用 Olson/tz 数据库时区(不支持 POSIX)。在 AIX 上还需要重启操作系统,才能使新的时区设置生效。请注意,需要 AIX 6.1+(操作系统级别 61 或更新版本)。

示例

- name: Set timezone to Asia/Tokyo
  become: true
  community.general.timezone:
    name: Asia/Tokyo

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

diff

复杂

有关给定参数的差异。

返回:成功

after

字典

更改后的值

返回:成功

before

字典

更改前的值

返回:成功

作者

  • Shinichi TAMURA (@tmshn)

  • Jasper Lievisse Adriaanse (@jasperla)

  • Indrajit Raychaudhuri (@indrajitr)