一、概述
service 模块可以帮助我们管理远程主机上的服务。比如,启动或停止远程主机中的 nginx 服务
- 注意: 假如想要管理远程主机中的某个服务,那么这个服务必须能被 BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart 中的任意一种所管理,否则 service
模块也无法管理远程主机的对应服务。
二、常用参数
- name参数: 此参数用于指定需要操作的服务名称,比如 nginx。
- state参数: 此参数用于指定服务的状态,比想要启动远程主机中nginx,则 state 值设为 started;停止远程主机中的服务,则state 值设为 stopped。此参数的可用值有started、stopped、restarted、reloaded。
- enabled参数: 此参数用于指定是否将服务设置为开机 启动项,设置为 yes 表示将对应服务设置为开机启动,设置为 no 表示不会开机启动。
三、示例
ansible-demo3 主机已经安装完毕 nginx。
- 1.将 ansible-demo3 中的 nginx 服务设置为启动状态。
[root@ansible-manager ~]# ansible ansible-demo3 -m service -a "name=nginx state=started"
ansible-demo3 | SUCCESS => {
"changed": true,
"name": "nginx",
"state": "started",
"status": {
"ActiveEnterTimestampMonotonic": "0",
......
"WatchdogUSec": "0"
}
}
- 2.将 ansible-demo3 中的 nginx 服务设置为停止状态。
[root@ansible-manager ~]# ansible ansible-demo3 -m service -a "name=nginx state=stopped"
ansible-demo3 | SUCCESS => {
"changed": true,
"name": "nginx",
"state": "stopped",
"status": {
"ActiveEnterTimestamp": "Thu 2018-05-17 10:59:02 CST",
......
"WatchdogUSec": "0"
}
}
- 3.将 ansible-demo3 的 nginx 服务被设置为开机自动启动。
[root@ansible-manager ~]# ansible ansible-demo3 -m service -a "name='nginx' enabled=yes"
ansible-demo3 | SUCCESS => {
"changed": true,
"enabled": true,
"name": "nginx",
"status": {
"ActiveEnterTimestampMonotonic": "0",
......
"WatchdogUSec": "0"
}
}