您好,登錄后才能下訂單哦!
1. playbook參數詳解:
hosts:hosts 用于指定要執行指定任務的主機其可以是一個或多個由冒號分隔主機組。 user:root 指定遠程主機上執行任務的用戶 remote_user:root vars:變量 tasks:任務 - name:描述 module:options 如:serverice name=httpd state=running shell:/sbin/setenforce 0 handlers:觸發條件 files:文件賦權 template:模板
tags 用于讓用戶選擇運行或略過playbook中的部分代碼。ansible具有冪等性因此會自動跳過沒有變化的部分即便如此有些代碼為測試其確實沒有發生變化的時間依然會非常地長。
此時如果確信其沒有變化就可以通過tags跳過此些代碼片斷。
循環:
循環with_items: --- - hosts: testhost user: root tasks: - name: change mod for file file: path=/tmp/{{ item }} mode=600 owner=root group=root with_items: - 1.txt - 2.txt - 3.txt
條件判斷使用handlers模塊:
--- - hosts: testhost remote_user: root tasks: - name: test copy copy: src=/tmp/1.txt dest=/tmp/2.txt notify: test handlers handlers: - name: test handlers shell: echo "111111" >> /tmp/2.txt
如果要使用handlers模塊,則需要調用notify: test handlers是handlers模塊的name,要保持一致。
從ansible主上拷貝1.txt到遠程服務器2.txt,只有到copy完成了,才會執行handlers。
條件判斷條件when:
--- - hosts: testhost remote_user: root gather_facts: True tasks: - name: use when shell: touch /tmp/when.txt when: ansible_system_vendor == "IBM"
注意變量要寫對,不能寫數組,數組的要注意.
cat /tmp/when.yml :
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。