16-Ansible常用模块-service模块

一、概述

service 模块可以帮助我们管理远程主机上的服务。比如,启动或停止远程主机中的 nginx 服务。

注意:假如想要管理远程主机中的某个服务,那么这个服务必须能被 BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart 中的任意一种所管理,否则 service 模块也无法管理远程主机的对应服务。这样说可能不容易理解,那么我们换个方式来解释,假设你在使用 centos6,那么你的 centos6 中的 nginx 必须能够通过 “service nginx start” 启动,如果你的 nginx 无法通过 “service nginx start” 进行启动,那么它也同样无法通过 ansible 的 service 模块启动。假设你在使用 centos7,那么你的 centos7 中的 nginx 则必须能够通过 “systemctl start nginx” 启动,如果它无法通过 “systemctl start nginx” 进行启动,那么它也同样无法通过 ansible 的 service 模块进行启动。centos6 中默认通过 sysv 管理服务,centos7 中默认通过 systemd 管理服务。所以,如果服务无法通过 BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart 中的任意一种所管理,那么它也无法被ansible 的 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"
    }
}

四、总结

本节介绍了 Ansible 常用模块之 service 模块,并举例说明如何使用,下节我们介绍 user 模块。

这里的命令常用参数介绍及示例,主要摘抄自下面文档内容,有部分改动,在这里对原作者深表感谢!

参考文档:
http://www.zsythink.net/archives/2572

你可能感兴趣的:(ansible,Ansible,学习总结)