概要说明

ansible是一款非常强大的自动化运维工具,使我们可以很快捷地实现对远程目标服务器的自动化运维,包括服务器维护,文件操作,实时监控,项目服务更新,备份等等N多行为,就像你手工远程到服务器的一系列操作,都可以通过ansible帮你完成,而且它还是可以批量操作的。今天介绍的是它的wait_for模块。

1,该模块可以让我们在执行下一步命令之前,让程序等待指定的时间,单位是秒。

2,可以等待设置的超时时间,如果未指定超时,则会按默认值来超时。默认值是300秒。

3,此模块还可用于等待文件中出现与字符串匹配的正则表达式。

4,在Ansible 1.6及更高版本中,可用于等待文件系统上的文件可用或不存在

5,对于Windows目标,可用an模块

参数说明

sleep:设置一个睡眠的秒数,等待秒数结束后,再继续后面的命令

Parameter

Comments

active_connection_states

被视为活动连接的TCP连接状态列表,列表可选值 :["ESTABLISHED", "FIN_WAIT1", "FIN_WAIT2", "SYN_RECV", "SYN_SENT", "TIME_WAIT"]


connect_timeout

设置一个时间用于连接等待,默认值为5

delay

开始计数前的等待时间,默认值为0

exclude_hosts

查找处于耗尽状态的活动TCP连接时要忽略的主机或IP的列表。

host

要等待的可解析主机名或IP地址。默认值是本机"127.0.0.1"

msg

提示信息,如果有设置,则将覆盖模块报错的信息

path

继续之前文件系统上必须存在的文件的路径

port

要检测的端口号,注意的是路径和端口是互斥的参数

search_regex

用于匹配文件或套接字连接中的字符串,默认为多行正则表达式

sleep

设置一个睡眠的秒数,等待秒数结束后,再继续后面的命令

state

可选值为 present, started, or stopped, absent, or drained.

检查端口时,started将确保端口打开,stopped将检查端口关闭,drained将检查活动连接

检查文件或路径时,
“present”或“started”将确保文件或字符串在继续之前已存在,“absent”将检查文件是否存在或已删除。

timeout

等待的最大秒数,默认值为300秒

实例说明

下面的例子,是在停止服务后,等待5秒,再启动服务