---
- name: shell test
hosts: all
tasks:
- name: shell
shell:
cmd: |
mkdir chaijin
sh /root/shell/123.sh
...
采用shell进行文件夹创建以及脚本运行
shell中cmd用做写入执行的命令,chdir用来切换目录
如果需要进行多命令执行,使用“|”符号,
shell:
cmd: |
mkdir chaijin
sh /root/shell/123.sh

用于软件的安装升级和卸载
---
- name: loop
hosts: all
vars:
mail_services:
- httpd
- tftp-server
- dhcp
- vsftpd
tasks:
- name: loop running
yum:
name: "{{ item }}"
loop: "{{ mail_services }}"
...
定义列表变量vars
列表内容为服务名称
通过loop循环mail_services列表取出值让tasks任务进行下载
service是用来控制服务的启动重启或者停止
---
- name: loop
hosts: 172.16.10.9
tasks:
- name: httpd is running
service:
name: tftp
state: started
- name: firewalld is running
service:
name: firewalld
state: started
...
service在定义的时候需要定义操作的服务名称,以及操作状态,缺一不可

---
- name: copytest
hosts: all
tasks:
- name: copy
copy:
src: /root/test.txt
dest: /root
owner: root
group: root
mode: '777'
...
| 参数 | 作用 |
|---|---|
| src | 指定本地文件位置 |
| dest | 指定复制到远程节点位置 |
| group | 复制文件的组用户信息 |
| owner | 复制文件的主用户信息 |
| mode | 设定复制文件权限 |

file是专门处理文件的模块,即可以将文件所属组和权限进行修改,还可以进行文件的传输
| 参数 | 作用 |
|---|---|
| mode | 文件权限 |
| path | 被控制主机的文件位置 |
| src | 指定本地文件位置 |
| dest | 指定复制到远程节点位置 |
| group | 复制文件的组用户信息 |
| owner | 复制文件的主用户信息 |
---
- name: file
hosts: all
tasks:
- name: file
file:
path: /root/test.txt
owner: root
group: root
mode: '666'
...
与file和copy类似,文件拉取模块,只是拉取方向不同,fetch是将被管理机的文件拉取到管理机中
| 参数 | 作用 |
|---|---|
| src | 指定本地文件位置 |
| dest | 指定复制到远程节点位置 |
---
- name: fetch
hosts: all
tasks:
- name: fetch test
fetch:
src: /root/test.txt
dest: /root/fetch
...
