《Ansible Playbook扩展:任务间流程控制之任务暂停》

一、wait_for模块

wait_for是用来在规定时间内检测,状态是否为所期望的状态,才会执行后续的操作。

常见使用场景:

1、等待直到监听的端口"up"起来
2、等待文件存在或不存在时,再继续执行
3、等待匹配字符串出现在文件中后,再继续执行
4、监听log文件直到特定的"string"出现

常用参数说明:

参数默认值说明
connect_timeout 5秒 在关闭和重试之前等待连接发生的最大秒数
exclude_hosts 当寻找活动的TCP连接为"耗尽"状态时要忽略的主机或ip列表
active_connection_states ESTABLISHED FIN_WAIT1 FIN_WAIT2 SYN_RECV SYN_SENT TIME_WAIT 被算作活动连接的TCP连接状态列表
host 默认值:127.0.0.1 等待的可解析主机名或IP地址
delay 默认值:0 开始轮询前等待的秒数
msg 这将覆盖不满足所需条件的正常错误消息
path 在继续之前,文件系统中必须存在的文件的路径。参数Path和port互斥,二者只可取其一
port 轮询的端口号,参数Path和port互斥,二者只可取其一
search_regex 可用于匹配文件或套接字连接中的字符串,默认为多行正则表达式
sleep 1秒 在两次检查之间休眠的秒数
state present absent started stopped drained 当检查一个端口时,started将确保端口是开放的,stopped将检查状态是关闭的,drained将检查活动连接是耗尽的。 当检查文件或搜索字符串是否存在时,将确保文件或字符串已存在再继续执行,absent将检查该文件是否存在或被删除
timeout 默认值:300秒 等待的最大秒数,当与另一个条件一起使用时,它将强制出现错误,在没有其他条件的情况下,它相当于睡眠

示例一:检查端口是否正常

方法一:

playbooks文件,如下图所示:
在这里插入图片描述

执行结果,如下图所示:
在这里插入图片描述


方法二:

playbooks文件,如下图所示:
在这里插入图片描述

执行结果,如下图所示:
在这里插入图片描述


示例二:检查文件或目录是否已经删除

方法一:

playbooks文件,如下图所示:
在这里插入图片描述

执行结果,如下图所示:
在这里插入图片描述


方法二:

playbooks文件,如下图所示:
在这里插入图片描述

执行结果,如下图所示:
在这里插入图片描述


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东城绝神

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

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

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

打赏作者

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

抵扣说明:

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

余额充值