首页 » 翻译 » Ansible 入门 » 正文

ansible中的 do until 循环

在我们日常的运维生活中,很多时候我们需要执行一些类似清理的工作:

例如:

当磁盘空间>90%的时候,我们找到存放网站的文件夹,随机挑选一个文件夹(或者挑选最大的),然后执行转移的命令,将这个文件夹转移到另外的服务器上,但是这个时候就有个问题:当这个文件夹被转移后,磁盘空间是否还是>90%? 当然,我们可以直接将清理脚本执行10次,基本上肯定会<90%的磁盘空间的,但是,我们也可以使用更牛B的ansible模块 :until

聚个栗子:

这个栗子说明: 要么循环5次,要么5次循环还没跑完间隔10s, 但是 result.stdout中找到 “all systems go”这几个字母,然后这个task就不跑了(默认的retries=3, delay=5)

 

 

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)