Ansible内置模块之service

发布于:2025-03-31 ⋅ 阅读:(27) ⋅ 点赞:(0)

Ansible内置模块之 service

ansible.builtin.service 模块是 Ansible 的内置模块之一,用于管理系统服务。它允许你启动、停止、重启和重新加载服务,并确保服务处于预期的状态。其功能与ansible.builtin.systemd内置模块基本一致, 相比于systemd, 它所能支持的服务类型更全面, 所以能够兼容更多的Linux发行版.

1. 选 项 说 明

选项

必须

类型

默认值

说明

name

str

要管理的服务名称

state

str

服务的目标状态。可为started,stopped,restarted,reloaded

enabled

bool

是否启用服务开机自启。可以是 yes 或 no

daemon_reload

bool

no

是否在执行其他操作之前重新加载系统管理器配置。

force

bool

no

存在 state=restarted 或 state=reloaded 时,是否强制重启或重新加载

sleep

int

在重启服务之前等待的时间(秒)。该选项不支持 systemd 类型的服务

use

str

指定服务管理工具,例如   sysv,upstart,systemd,否则会自动检测

2.  用  例

# 启动服务
- name: Start the Apache service
  ansible.builtin.service:
    name: httpd
    state: started

# 停止服务
- name: Stop the Apache service
  ansible.builtin.service:
    name: httpd
    state: stopped

# 重启服务
- name: Restart the Apache service
  ansible.builtin.service:
    name: httpd
    state: restarted

# 重新加载服务
- name: Reload the Apache service
  ansible.builtin.service:
    name: httpd
    state: reloaded

# 启用服务开机自启
- name: Ensure the Apache service is enabled at boot
  ansible.builtin.service:
    name: httpd
    enabled: yes

# 禁用服务开机自启
- name: Ensure the Apache service is disabled at boot
  ansible.builtin.service:
    name: httpd
    enabled: no

# 在执行其他操作之前重新加载系统管理器配置
- name: Reload systemd manager configuration before restarting the Apache service
  ansible.builtin.service:
    name: httpd
    state: restarted
    daemon_reload: yes

# 指定使用 systemd 管理服务
- name: Start the Apache service using systemd
  ansible.builtin.service:
    name: httpd
    state: started
    use: systemd