ansible - 如何从ansible获取需要重启的服务器列表
问题描述
我目前正在使用 ad-hoc 命令ansible ubuntu -a "ls -l /var/run/reboot-required"
来获取需要重新启动的服务器列表。但是,最终结果是所有服务器的列表,以及有关指示文件的信息或文件不存在的错误。
我对剧本足够熟悉,可以创建一个真正进行重新启动的剧本,但我不想要那样。我只想要一个漂亮(且相对整洁)仍然需要重新启动的服务器列表。
获取满足某些标准(例如,具有变量集)的服务器列表的更通用的解决方案也将非常有帮助。
解决方案
不容易,因为正确的方法是检查文件是否存在,将其stat
保存到变量并创建一个列表when: var.stat.exists
。
如果您想在一行中完成并且不介意使用 bash 脚本,请执行以下操作:
ansible ubuntu -m stat -a "path=/var/run/reboot-required" -o | grep -v '{"exists": false}' | awk -F\| '{ print $1 }'
希望能帮助到你
推荐阅读
- node.js - 为什么“npm run build”会产生错误“react-scripts Permission denied”?
- java - @GetMapping 没有被导入
- migradoc - 如何从表格单元格中获取值
- nginx - Nginx 静态内容缓存 proxy_cache_bypass proxy_no_cache
- android - android重力右光标显示输入文本EditText的左侧
- java - 我想在构造函数中打开一个文件进行读取。该文件应该可以通过任何方法读取,而无需创建另一个读取器对象
- amazon-web-services - 需要为开发人员提供细粒度访问权限以访问属于他的项目的特定 KMS 密钥
- python - 将 CSV 上传到 Plotly Dash 并基于 Pandas 数据框呈现条形图
- mysql - phpmyadmin 中无法识别的数据类型错误
- php - 如果多维数组PHP中的另一个数组获取所有键,如何删除数组