同步模塊synchronize——自動化運維工具Ansible的模塊實例

由於synchronize模塊會調用rsync命令,因此首先要記得提前安裝好rsync軟件包。

synchronize模塊用於將Ansible機器的指定目錄推送(push)到客戶機器的指定目錄下,

命令如下:

ansible 192.168.1.206 -m synchronize -a "class="lazy" src="//p2.ttnews.xyz/loading.gif" data-original=/usr/local/src/ dest=/usr/local/src/ delete=yes compress=yes "

若未安裝rsync則運行時,會報如下錯誤:

[root@ansible ~]# ansible 192.168.5.153 -m synchronize -a "class="lazy" src="//p2.ttnews.xyz/loading.gif" data-original=/root/ dest=/root/ansible/ delete=yes compress=yes"

192.168.5.153 | FAILED! => {

"changed": false,

"failed": true,

"msg": "Failed to find required executable rsync in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/sbin"

}

[root@ansible ~]#

同步模塊synchronize——自動化運維工具Ansible的模塊實例

安裝rsync後,繼續運行Ansible命令:

[root@ansible ~]# echo "test" > /ansible/test

[root@ansible ~]# ansible 192.168.5.153 -m synchronize -a "class="lazy" data-original=/ansible/ dest=/ansibe/ delete=yes compress=yes"

192.168.5.153 | FAILED! => {

"changed": false,

"cmd": "/usr/bin/rsync --delay-updates -F --compress --delete-after --archive --rsh=/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null --out-format=<>%i %n%L /ansible/ 192.168.5.153:/ansibe/",

"failed": true,

"msg": "Warning: Permanently added '192.168.5.153' (ECDSA) to the list of known hosts.\r\nbash: rsync: command not found\nrsync: connection unexpectedly closed (0 bytes received so far) [sender]\nrsync error: remote command not found (code 127) at io.c(605) [sender=3.0.9]\n",

"rc": 127

}

同步模塊synchronize——自動化運維工具Ansible的模塊實例

該報錯是由於客戶端也沒有安裝rsync的原因,在client安裝rsync後,就可以正常操作了。

[root@ansible ~]# ansible 192.168.5.153 -m synchronize -a "class="lazy" data-original=/ansible/ dest=/ansibe/ delete=yes compress=yes"

192.168.5.153 | SUCCESS => {

"changed": true,

"cmd": "/usr/bin/rsync --delay-updates -F --compress --delete-after --archive --rsh=/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null --out-format=<>%i %n%L /ansible/ 192.168.5.153:/ansibe/",

"failed": false,

"msg": "cd+++++++++ ./\n

"rc": 0,

"stdout_lines": [

"cd+++++++++ ./",

"

]

}

[root@ansible ~]# ansible 192.168.5.153 -m synchronize -a "class="lazy" data-original=/ansible/ dest=/ansibe/ delete=yes compress=yes"

192.168.5.153 | SUCCESS => {

"changed": false,

"cmd": "/usr/bin/rsync --delay-updates -F --compress --delete-after --archive --rsh=/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null --out-format=<>%i %n%L /ansible/ 192.168.5.153:/ansibe/",

"failed": false,

"msg": "",

"rc": 0,

"stdout_lines": []

}

同步模塊synchronize——自動化運維工具Ansible的模塊實例

同步模塊synchronize——自動化運維工具Ansible的模塊實例


分享到:


相關文章: