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引用环境变量就说完了,欢迎评论区留言噢!

相关文章
|
5月前
|
存储 网络安全 数据安全/隐私保护
Ansible的变量
Ansible的变量
66 6
|
存储 缓存 监控
【2023】ansible-variables变量详解
【2023】ansible-variables变量详解
141 0
|
关系型数据库 MySQL 应用服务中间件
|
Shell
ansible的命令操作模块<6>
ansible的前面的模块都是对受管主机中的文件进行修改或者插入操作,今天继续跟随学习ansible的命令模块,比如说我要通过ansible在受管主机上执行我们常用的某些命令,该怎么操作 command模块: ansible test177 -m command -a "ls"在177中以root.
1695 0
Ansible-playbook 应用变量(学习笔记二十)
文件 [root@ansible-server ansible]# tree ./ ./ ├── hosts └── var.yaml hosts 文件 [web] 192.
1127 0
|
Linux 开发工具 Python
Ansible-playbook 条件判断when、pause(学习笔记二十三)
有一些模块,例如copy这个模块有一些机制能跳过本次模块的运行.其实我们也可以使用自己的条件语句去配置跳过模块,这样方便你服务能够选择使用不同的包管理(apt,yum)和不同的文件系统.
1696 0
|
tengine 应用服务中间件 nginx
Ansible-playbook roles安装nginx实例(学习笔记二十六)
1、nginx包相关信息: nginx_user: www                        nginx用户 nginx_port: 80                         nginx监听端口 nginx_web_dir: /data/webroot/nginxnginx的目录 nginx_version: 1.
1124 0
|
NoSQL Apache Redis
Ansible-playbook 基本语法与实例(学习笔记十九)
1、安装apache,做初始配置,并启动服务: 这个是你选择的主机 hosts: webservers 这个是变量 vars: http_port: 80 max_clients: 200 远端的执行权限 remote_user: root t...
1335 0
|
JSON Shell 数据格式
Ansible-playbook 变量进阶(学习笔记二十五)
1、register结果返回到变量中 - name: debug test one host   hosts: 200.200.6.53   tasks:     - debug:         msg: "System {{ inventory_h...
1407 0
|
Shell Python
Ansible yaml的语法、playbook文件例子(学习笔记十七)
1、ansible有两种调用方式,一种是临时语句,一种是yml文件调用,语法格式分别为: ansible all -m ping ansible-playbook  test.yml 2、test.yml为yaml文件,yaml使用空白、缩进、分行组织数据。
1410 0