ansible.builtin.sysvinit 模块 - 管理 SysV 服务。

注意

此模块是 ansible-core 的一部分,包含在所有 Ansible 安装中。 在大多数情况下,即使不指定 collections 关键字,也可以使用简短的模块名称 sysvinit。 但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.sysvinit,以便轻松链接到模块文档并避免与可能具有相同模块名称的其他集合冲突。

概要

  • 控制使用 SysV init 系统的目标主机上的服务。

需求

以下是执行此模块的主机所需的最低要求。

  • 管理的服务具有相应的 init 脚本。

参数

参数

注释

arguments

别名:args

字符串

在命令行上提供的某些 init 脚本接受的附加参数。

daemonize

布尔值

让模块作为服务本身可能无法正确执行的方式进行守护进程化。

这对于编写不善的 init 脚本或守护进程很有用,这些脚本或守护进程通常表现为任务挂起,因为它仍然持有 tty 或服务在任务结束后死亡,因为连接关闭了会话。

选择

  • false ← (默认)

  • true

enabled

布尔值

服务是否应在启动时启动。 至少需要 stateenabled 之一。

选择

  • false

  • true

name

别名:service

字符串 / 必需

服务的名称。

pattern

字符串

要查找的子字符串,就像在 ps 命令的输出中找到的那样,作为状态结果的替代品。

如果找到该字符串,则假定服务正在运行。

此选项主要用于不支持 status 选项的 init 脚本。

runlevels

列表 / 元素=字符串

此脚本应在其中启用/禁用运行级别。

使用此选项覆盖包或 init 脚本本身设置的默认值。

sleep

整数

如果服务正在 restartedreloaded,则在停止和启动命令之间休眠这么多秒。 这有助于解决行为不佳的服务。

默认值: 1

state

字符串

started/stopped 是幂等的动作,除非必要,否则不会运行命令。 并非所有 init 脚本都原生支持 restartedreloaded,因此这两者都会根据需要触发停止和启动。

选择

  • "started"

  • "stopped"

  • "restarted"

  • "reloaded"

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行并返回已更改状态预测,而无需修改目标,如果不支持,则将跳过该操作。

diff_mode

支持:不支持

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

platform

平台: posix

可以对其进行操作的目标操作系统/系列

备注

注意

  • 除了 name 之外,还需要一个选项。

  • 服务名称可能因特定的操作系统/发行版而异。

示例

- name: Make sure apache2 is started
  ansible.builtin.sysvinit:
      name: apache2
      state: started
      enabled: yes

- name: Sleep for 5 seconds between stop and start command of badly behaving service
  ansible.builtin.sysvinit:
    name: apache2
    state: restarted
    sleep: 5

- name: Make sure apache2 is started on runlevels 3 and 5
  ansible.builtin.sysvinit:
      name: apache2
      state: started
      enabled: yes
      runlevels:
        - 3
        - 5

返回值

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

描述

results

复杂

执行的操作的结果

返回: 始终

name

字符串

服务的名称

返回: 始终

示例: "apache2"

status

字典

服务的狀態

返回: 已更改

示例: {"enabled": {"changed": true, "rc": 0, "stderr": "", "stdout": ""}, "stopped": {"changed": true, "rc": 0, "stderr": "", "stdout": "Stopping web server: apache2.\n"}}

作者

  • Ansible Core 团队