Ansible内置模块之service
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