ansible-playbook引用系统变量

简介: ansible-playbook引用系统变量

ansible处理很多数据时,写一个剧本playbook比较方便,推荐一种引用环境变量的方法


废话不多说,直接上yaml文件内容

---
- hosts: all
  become: yes
  tasks:
  - name: install rsync
    yum:
      name: rsync
      state: present
  - name: Start service rsyncd
    service:
      name: rsyncd
      state: started
  - name: rsync local
    synchronize:                                      #同步功能                            
      mode: pull                                      #远程主机同步到本地主机
      src: "/vrgv/"
      dest: "/vrgv/{{ansible_date_time.date }}"       #引用变量格式:2021-02-03
    when: inventory_hostname in groups['node1']       #只作用于node1主机
#      rsync_opts: 
#      - "--remove-source-files" 
  - name: rsync node2
    synchronize:
      mode: push                                      #本地主机同步到远程主机
      src: "/vrgv/{{ansible_date_time.date }}/"
      dest: "/vrgv/"
    when: inventory_hostname in groups['node2']       #只作用于node2主机  
#      rsync_opts: 
#      #      - "--remove-source-files" 

上面的意思是,我要把node1主机的/vrgv/目录下的文件拷贝到node2主机的/vrgv/目录下,并引用了一个环境变量ansible_date_time.date,之所以没用copy模块,是因为rsync同步比copy模块快,并且没有局限性,需要安装rsync服务,默认都是安装好的,只需开启即可。


这个环境变量是通过查看全局变量得来的


[root@jenkins ansible]# ansible all -m setup |less

1675177365765.jpg

ansible-playbook引用系统变量

可以看到有很多变量,都可以引用,我上面的代码只引用了时间为例。


到这里ansible引用环境变量就说完了,欢迎评论区留言噢!

相关文章
|
3月前
|
存储 网络安全 数据安全/隐私保护
Ansible的变量
Ansible的变量
34 6
|
5月前
|
关系型数据库 MySQL 网络安全
ansible 深入介绍之 主机清单与playbook
ansible 深入介绍之 主机清单与playbook
|
关系型数据库 MySQL 应用服务中间件
|
缓存 运维 负载均衡
Ansible-playbook 的编写 | 学习笔记
快速学习Ansible-playbook 的编写
Ansible-playbook 的编写 | 学习笔记
Ansible-playbook 应用变量(学习笔记二十)
文件 [root@ansible-server ansible]# tree ./ ./ ├── hosts └── var.yaml hosts 文件 [web] 192.
1116 0
|
应用服务中间件 nginx
Ansible hosts文件写法(学习笔记八)
1、正常写法,name1为别名: [test1] name1 ansible_ssh_host=192.168.1.111 ansible_ssh_user="root" ansible_ssh_pass="1234" ansible_ssh_port=22 name2 ansible_ssh_host=192.
4437 0
|
Shell 网络安全 数据安全/隐私保护
Ansible 安装脚本
#!/bin/bash #su - chmod 777 /usr/local/src -r; yum -y install gcc gcc++; yum install -y zlib zlib-devel; cd /usr/local/src wget https://www.
1080 0
|
Python
Ansible安装脚本
#!/bin/bash yum -y installgcc zlib zlib-devel openssl sshpass libselinux libselinux-python wget; cd/usr/local/src wget -c https://www.
1202 0
|
测试技术 应用服务中间件 nginx
|
机器学习/深度学习 Shell 开发工具