Ansible Playbooks常用模块

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模块

扫描二维码关注公众号,回复: 8457357 查看本文章

实现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

猜你喜欢

转载自www.cnblogs.com/joy-sir/p/12164884.html