第十周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












网友评论