我当前正在使用临时命令ansible ubuntu -a "ls -l /var/run/reboot-required"
来获取需要重启的服务器列表。但是,最终结果是所有服务器的列表,以及有关指示文件的信息或该文件不存在的错误。
我对剧本足够熟悉,可以创建一个实际上可以重启的剧本,但是我不想要那样。我只想要一个不错的(相对简洁的)服务器列表,它们仍然需要重启。
获取满足某些条件(例如,具有变量集)的服务器列表的更通用的解决方案也将很有帮助。
答案 0 :(得分:0)
这并不容易,因为正确的方法是使用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 }'
希望有帮助