1. 程式人生 > >16-Ansible常用模組-service模組

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 模組。

這裡的命令常用引數介紹及示例,主要摘抄自下面文件內容,有部分改動,在這裡對原作者深表感謝!