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: 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 核心团队