欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第十周-day44--playbook剧本-变量与循环使用

程序员文章站 2022-03-09 14:20:49
...

asnible的变量

一、实现变量调用的方法:

1.在nfs01 backup 创建/backup/lidao的目录 ,把 /etc/目录打包压缩到/backup/lidao目录下面 etc.tar.gz  ,目录名存放在变量中

第十周-day44--playbook剧本-变量与循环使用

[09:55 aaa@qq.com /etc/ansible]# vim vars.yml 
---
  - hosts: all
    vars:
      dir1: /backup/lidao
    tasks:
    - name: mkdir
      file:
        path: "{{ dir1 }}"
        state: directory
    - name: tar /etc
      archive:
        path: /etc
        dest: "{{ dir1 }}/etc.tar.gz"

第十周-day44--playbook剧本-变量与循环使用
第十周-day44--playbook剧本-变量与循环使用


二、变量注册

1.注册变量信息

[11:31 aaa@qq.com /etc/ansible]# vim vars1.yml 
---
  - hosts: all
    tasks:
      - name: ip
        shell: hostname -I|awk '{print $NF}'
        register: ipaddr
      - name: print ip
        shell: echo {{ ipaddr.stdout }} >>/tmp/ip.txt

2.追加到文件中

第十周-day44--playbook剧本-变量与循环使用

3.查看追加过去的内容:

最后的一行是stdout_lines: [u172.16.1.31] 是我们要的内容第十周-day44--playbook剧本-变量与循环使用

4.ansible的调试

需要用到叫register的内容
把/etc/打包备份到/backup/ip地址命名目录/etc-时间.tar.gz
(因为时间关系这里就打包/etc下的profile和hosts了)
ip是每台机器的内网ip
时间是当天的日期:年-月-日
第十周-day44--playbook剧本-变量与循环使用

[12:10 aaa@qq.com /etc/ansible]# vim vars.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 /etc/profie && /etc/hosts
      archive:
        path: /etc
        dest: /backup/{{ ipaddr.stdout }}/etc-{{ time.stdout }}.tar.gz
    - name: mkdir xf-dir
      file:
        path: /backup/{{ ipaddr.stdout }}/tc-{{ time.stdout }}
        state: directory
    - name: tar xf
      unarchive:
        src: /backup/{{ ipaddr.stdout }}/etc-{{ time.stdout }}.tar.gz
        copy: no
        dest: /backup/{{ ipaddr.stdout }}/

三、内置变量

第十周-day44--playbook剧本-变量与循环使用

查看主机名:
[12:35 aaa@qq.com /etc/ansible]# vim vars2.yml
---
  - hosts: all
    tasks:
      - name: 内置变量
        debug: msg={{ ansible_hostname }}

四、查看所有内置变量

用ansible_facts 内容太多可以筛选

[12:35 aaa@qq.com /etc/ansible]# vim vars2.yml
---
  - hosts: all
    tasks:
      - name: 内置变量
        debug: msg={{ ansible_facts }}

1.ansible的循环

第十周-day44--playbook剧本-变量与循环使用

2.标准循环批量安装软件

第十周-day44--playbook剧本-变量与循环使用

3.标准循环批量创建用户

第十周-day44--playbook剧本-变量与循环使用

作业:

shell的面试题
m01使用ansible
部署
rsync
nfs
sersync
全网备份
尝试云服务器部署服务
预习:HTTP协议 Nginx

未完待续…