ansible之二:模組用法

snale1989發表於2016-08-02

一:ansible遠端執行命令

[root@ansible ~]# ansible test -m shell -a "date"
192.168.0.28 | SUCCESS | rc=0 >>
2016年 08月 02日 星期二 15:06:21 CST

[root@ansible ~]# ansible test -m raw -a "date"
192.168.0.28 | SUCCESS | rc=0 >>
2016年 08月 02日 星期二 15:06:21 CST
[root@ansible ~]# ansible test -m command -a "date" 
192.168.0.28 | SUCCESS | rc=0 >>
2016年 08月 02日 星期二
15:08:06 CST

test為主機組名 -m後面跟模組名 -a後面跟命令 ,shell raw模組支援管道 command模組不支援

 

二:ansible拷貝檔案或目錄

[root@ansible ~]# ansible test -m copy -a "src=/data/shell/ dest=/data/shell/ "
192.168.0.28 | SUCCESS => {
    "changed": true, 
    "dest": "/data/shell/", 
    "src": "/data/shell"
}

三:ansible遠端執行指令碼

首先建立一個shell指令碼

vim  /tmp/test.sh  //加入內容

#!/bin/bash

echo `date` > /tmp/ansible_test.txt

然後把該指令碼分發到各個機器上

ansible test -m copy -a "src=/tmp/test.sh dest=/tmp/test.sh mod=0755"

最後是批量執行該shell指令碼

ansible test -m shell -a "/tmp/test.sh"

shell模組,還支援遠端執行命令並且帶管道ansible test-m shell -a "cat /etc/passwd|wc -l "

四:ansible安裝rpm包/管理服務

[root@ansible ~]# ansible test -m yum -a "name=glances state=installed"  //這裡的name是centos系統裡的服務名。
192.168.0.28 | SUCCESS => {
    "changed": true, 

五:ansible 同步模組synchronize 使用

功能: 資料同步管理  使用此模組需要服務端與web組都安裝了rsync.

#ansible test -m shell -a "rpm -qa rsync"   檢查是否安裝了rsync

192.168.0.28 | SUCCESS | rc=0 >>

rsync-3.0.9-17.el7.x86_64

安裝rsync

#ansible test -m shell -a "yum install -y rsync"

同步目錄:

#ansible test -m synchronize -a "src=/data/adminshell/ dest=/data/adminshell/ "

同步目錄,刪除目的目錄中源目錄中沒有的檔案

#ansible test -m synchronize -a "src=/data/adminshell/ dest=/data/adminshell/ delete=yes"

"msg": "*deleting   test.txt\n"

同步目錄,排除某個檔案

ansible test -m synchronize -a "src=/data/adminshell/ dest=/data/adminshell/ rsync_opts="--exclude=exclude.txt" "

同步目錄,排除多個檔案

ansible test -m synchronize -a "src=/data/adminshell/ dest=/data/adminshell/ rsync_opts="--exclude=\*.conf,--exclude=\*.html,--exclude=test1" "

 

#ansible-doc -s synchronize   模組用法

 六:ping模組,檢測主機是否存活。

[root@ansible ~]# ansible test -m ping     //如果ansible 後面跟all ,則表示檢測 hosts 檔案中所有的伺服器是否存活!
192.168.0.28 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

 

相關文章