Script
以前我不知道有 script 模組,所以要執行自己的腳本,都是先把腳本複製過去,再用 shell/command 去執行。
有了 script 模組,就不需要這麼麻煩了,他會幫你處理掉複製腳本的事情。
Playbook 範例如下
---
- name: Test script module
hosts: all
tasks:
- name: Script
script: ./scripts/hello.sh John
register: shell_result
- debug:
var: shell_result.stdout_lines
然後在 scripts 目錄下放一個 hello.sh 的腳本,hello.sh 這個腳本會印出 Hello 的字串。
執行這個 playbook 以後,就會看到結果
PLAY [Test script module] **********************************************************************************************
TASK [Gathering Facts] *************************************************************************************************
ok: [192.168.11.11]
TASK [Script] **********************************************************************************************************
changed: [192.168.11.11]
TASK [debug] ***********************************************************************************************************
ok: [192.168.11.11] => {
"shell_result.stdout_lines": [
"Hello John"
]
}
PLAY RECAP *************************************************************************************************************
192.168.11.11 : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
這樣就方便多了,不需要先複製,再執行。