ansible 变量定义和引用 sudo 执行命令

cat /etc/ansible/hosts

[nodes]
10.2.1.232 key=232
10.2.1.43 key=43

cat debug.yaml

---
- name: test how to use command module
hosts: nodes
remote_user: root
gather_facts: false
vars:
- content: '20181104'
tasks:
- name: create a file
shell: "echo {{key}} >/root/{{inventory_hostname}}.txt"

结果:

cat  10.2.1.232.txt

232

2.gather_facts


- name: gather_facts of each host
  template: src=/root/nginx.conf dest=/root/nginx.conf

 cat /root/nginx.conf 

worker_processes {{  ansible_processor_cores }};

 \获取ansible的要调用的相关函数

---------------------------------------------------------------------------------

远程登陆机器执行脚本,结果输出到以IP命名的文件

[dev@VM_0_11_centos ~]$ cat getResult.yaml
---
- name: test how to use command module
  hosts: qiwei
  become: yes
  become_user: root
  gather_facts: false
  vars:
  - content: '20181104'
  tasks:
  - name: create a file
    shell: "sh /tmp/secure1.sh >/tmp/{{ inventory_hostname }}.log"

 收集远端文件到本地目录

---
- name: test how to use command module
  hosts: qiwei
  become: yes
  become_user: root
  gather_facts: false
  vars:
  - content: '20181104'
  tasks:
  - name: copy remote file to local
    fetch: "src=/tmp/{{ inventory_hostname }}.log dest=/tmp/1113/"

 -------------------------------------------------------------------------------------

sudo远程执行包括变量的命令

[dev@VM_0_11_centos tmp]$ cat toip.yaml 
---
-
 name: get ip imformation into ip.txt
 hosts: ab-pool
 gather_facts: false
 become: true
 become_user: root
 tasks:
 - name: echo ip imformation into $ip.txt
   shell: echo {{ inventory_hostname  }} > /tmp/{{ inventory_hostname }}.txt
原文地址:https://www.cnblogs.com/hixiaowei/p/9904550.html