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