Ansible playbook剧本中定义和使用变量的方式

=======================================

# 直接定义并使用变量

---

- hosts : 172.16.1.21

  remote_user : root

  vars : #定义变量

      var1 : test.txt

  tasks :

      - name : touch file

        file : "dest=/data/scripts/{{var1}} state=touch” #使用变量var1

=======================================

扫描二维码关注公众号,回复: 6040428 查看本文章

# 通过--extra-vars参数在执行playbook时,给playbook中的变量赋值

---

- hosts : 172.16.1.21

  remote_user : root

  tasks :

      - name : ls file

        shell: "ls /data/scripts/{{var2}}” 

$ ansible-playbook demo1.yml --extra-vars "var2=test.txt”

=======================================

#使用register的方式定义变量,并将date的输出赋值给该变量

---

- hosts : 172.16.1.21

  remote_user : root

  tasks :

      - name : get date

        shell: date

        register : date_output 

      - name : save date out

        shell: "echo {{date_output.stdout}}>/data/scripts/{{var1}}” 

=======================================

# 在hosts文件中对某个组定义变量,在playbook直接使用定义过的变量

$ vim /etc/ansible/hosts

[group_1]

172.16.1.21

[group_2]

172.16.1.22

[group_1:vars]

var3=test.txt

$ vim /data/scripts/play_book_demo.yml

---

- hosts : 172.16.1.21

  remote_user : root

  tasks :

      - name : touch file

        file : "dest=/data/scripts/{{var3}} state=touch” 

=======================================

猜你喜欢

转载自blog.csdn.net/Mr_Yang__/article/details/89374957