File模块
在目标主机创建文件或目录,并赋予其系统权限
- name: create a file
file:'path=/oot/foo.txt state=touch mode=0755
owner=foo group=foo'
Copy模块
实现Ansible服务端到目标主机的文件传送
- name: copy a file
copy:'remote src=no src=roles/testbox/files/foo.sh
dest=/root/foo.sh mode=0644 force=yes'
Stat模块
获取远程文件状态信息
- name: check if foo.sh exists
stat: 'path=/root/foo.sh'
register: script_ stat
Debug模块
打印语句到Ansible执行输出
- debug: msg =foo.sh exists
when: script_ stat.stat.exists
Command/Shell模块
用来执行Linux目标主机命令行
- name: run the script
command:"sh /root/foo.sh"
- name: run the script
command:"echo 'test' > /root/test.txt"
Template模块
实现Ansible服务端到目标主机的jinja2模块传送
- name: write the nginx config file
template: src= roles/testbox/templates/nginx.confj2
dest=/etc/nginx/nginx.conf
Packaging模块
调用目标主机系统包管理工具(yum,apt)进行安装
- name: ensure nginx is at the latest version
yum: pkg= nginx state = latest
- name: ensure nginx is at the latest version
apt: pkg= nginx state = latest
Service模块
管理目标主机系统服务
- name: start nginx service
service: name = nginx state= started