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

注意

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

概述

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

要求

以下要求是在执行此模块的主机上需要的。

  • 管理的服务有一个相应的初始化脚本。

参数

参数

注释

arguments

别名:args

字符串

在命令行上提供的其他参数,某些初始化脚本接受。

daemonize

布尔值

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

这对编写的初始化脚本或守护程序非常有用,这些脚本或守护程序通常表现为任务挂起,因为它仍然持有 tty,或者服务在任务结束后死亡,因为连接关闭了会话。

选择

  • false ← (默认)

  • true

enabled

布尔值

服务是否应该在启动时启动。至少需要 stateenabled 中的一个。

选择

  • false

  • true

name

别名:service

字符串 / 必需

服务的名称。

pattern

字符串

作为 ps 命令输出中找到的子字符串,作为状态结果的替代。

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

此选项主要用于不支持 status 选项的初始化脚本。

runlevels

列表 / 元素=字符串

此脚本应该从哪些运行级别启用/禁用。

使用此选项覆盖由包或初始化脚本本身设置的默认值。

sleep

整数

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

默认值: 1

state

字符串

started/stopped 是幂等操作,除非必要,否则不会运行命令。并非所有初始化脚本都原生支持 restartedreloaded,因此它们都将根据需要触发停止和启动。

选择

  • "started"

  • "stopped"

  • "restarted"

  • "reloaded"

属性

属性

支持

描述

check_mode

支持:完整

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

diff_mode

支持:

在 diff 模式下,将返回有关已更改内容(或可能需要更改内容(在 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 Core 团队