ad hoc 只能执行一次,无法重复利用!
ansible 可以通过 playbook 来定义多个任务,在任务中根据需要调用模块。
playbook 使用 YAML 的语法来书写(YAML语法介绍见文)。

如何写好剧本呢?
把项目分解成一个个的task,然后按照 playbook 的语法规则将tasks串起来就好了。

下面是一个 playbook 的示例,作用是将 /etc/fstab 文件复制到 /tmp/ 和 /var/tmp/ 目录。

# cat demo.yml
---
- hosts: web  
  tasks:
   - name: cp fstab to /tmp/
     copy: src=/etc/fstab dest=/tmp/
   - name: cp fstab to /var/tmp/
     copy: src=/etc/fstab dest=/var/tmp/

注意:这儿的两个 copy 动作不能放到一个 name 下,会告警"found a duplicate dict key (copy). Using last defined value only."。

执行剧本:

# ansible-playbook [-v|-vv|-vvv][--syntax-check][--check] demo.yml

--syntax-check 表示做语法检测,--check, -C 表示执行一个空运行(DRY RUN)!

-- By 许望(RHCA、OCM、VCP)
最后修改:2020 年 04 月 18 日 09 : 22 PM
如果觉得我的文章对你有用,请随意赞赏