Ansible playbook中 block用法

block就是一组逻辑的tasks。使用block可以将多个任务合并为一个组。还可以做错误处理,即当任务发生错误后,执行rescue任务。

# block:block里的tasks,如果运行正确,则不会运行rescue;
# rescue:block里的tasks,如果运行失败,才会运行rescue里的tasks
# always:block和rescue里的tasks无论是否运行成功,都会运行always里的tasks

 示例:

- hosts: test
  user: root
  gather_facts: false 

  tasks:
    - name: copy  file 0 to 1
      shell: cp /data/test/0 /data/test/1
    - block:
        - name: copy file1 a to b
          shell: cp /data/test/a /data/test/b
        - name: copy file2 c to e
          shell: cp /data/test/c /data/test/e
      rescue:
        - name: copy file3 b to d
          shell: cp /data/test/b /data/test/d
      always:
        - name: copy file4 f to g
          shell: cp /data/test/f /data/test/g
    - name: copy file5 h to i
      shell: cp /data/test/h /data/test/i

#释#####################
正常执行任务shell cp 0 to 1
添加block任务
  复制file1
  复制file2
  当2个任务中任一发生错误后,执行rescue任务中的复制file3
  如复制file1出错,将跳过复制file2,而直接执行rescue任务
  无论是否成功都会执行always复制file4
(注意格式问题)复制file5也无论上面复制文件file1 file2是否失败都执行。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯飙的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值