美文网首页
第44课 ansible剧本编写语法 2019-05-31

第44课 ansible剧本编写语法 2019-05-31

作者: 苏水的北 | 来源:发表于2019-06-02 00:29 被阅读0次
第十周day5.png

1、项目实战1局部变量:

在nfs01 backup 创建/backup/lidao的目录 把 /etc/目录打包压缩到/backup/lidao目录下面 etc.tar.gz
目录名存放在变量中
构思:(重点注意如何添加变量用vars和使用变量用{{}})
dir=/backup/lidao
mkdir -p /backup/lidao
tar zcf /backup/lidao/xxx.tar.gz /etc

---
  - hosts: all
    vars:
      dir: /backup/lidao
    tasks:
      - name: mkdir
        file:
          path: "{{dir}}"
          state: directory
      - name: tar
        archive:
          path: /etc
          dest: "{{dir}}/etc.tar.gz "

2、使用全局变量的时候,检测变量是否生效的办法:

ansible 调试功能
debug 调试        
[root@m01 /etc/ansible]# cat 03-var-reg.yml
---
  - hosts: all
    tasks:
      - name: ip
        shell:  hostname -I|awk '{print $NF}'
        register: ipaddr
      - name:  debug ipaddr
        debug: msg={{ipaddr.stdout}}    
[root@m01 /etc/ansible]# cat 03-var-reg.yml 
---
  - hosts: all
    tasks:
      - name: ip
        shell:  hostname -I|awk '{print $NF}'
        register: ipaddr
      - name: print ip
        shell: echo {{ipaddr}}>/tmp/ip.txt  

3、项目实战2全局变量:

把/etc/打包备份到/backup/ip地址命名目录/etc-时间.tar.gz
ip是每台机器的内网ip
时间是当天的日期:年-月-日
需要用到全局变量register的内容:

[root@m01 /etc/ansible]# cat   04-var-reg-tar.yml
---
  - hosts: all
    tasks:
      - name: ip
        shell: hostname -I|awk '{print $NF}'
        register: ipaddr
      - name: date
        shell: date +%F
        register: time
 
      - name: mkdir dir
        file:
          path: /backup/{{ipaddr.stdout}}
          state: directory
      - name: tar 
        archive: 
          path: /etc
          dest: /backup/{{ipaddr.stdout}}/etc-{{time.stdout}}.tar.gz   

相关文章

网友评论

      本文标题:第44课 ansible剧本编写语法 2019-05-31

      本文链接:https://www.haomeiwen.com/subject/ikoztctx.html