在我们日常的运维生活中,很多时候我们需要执行一些类似清理的工作:
例如:
当磁盘空间>90%的时候,我们找到存放网站的文件夹,随机挑选一个文件夹(或者挑选最大的),然后执行转移的命令,将这个文件夹转移到另外的服务器上,但是这个时候就有个问题:当这个文件夹被转移后,磁盘空间是否还是>90%? 当然,我们可以直接将清理脚本执行10次,基本上肯定会<90%的磁盘空间的,但是,我们也可以使用更牛B的ansible模块 :until
聚个栗子:
1 2 3 4 5 |
- action: shell /usr/bin/foo register: result until: result.stdout.find("all systems go") != -1 retries: 5 delay: 10 |
这个栗子说明: 要么循环5次,要么5次循环还没跑完间隔10s, 但是 result.stdout中找到 “all systems go”这几个字母,然后这个task就不跑了(默认的retries=3, delay=5)
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021