gpt4 book ai didi

ansible - 如果给定目录不为空,如何执行 Ansible 任务?

转载 作者:行者123 更新时间:2023-12-04 10:23:56 27 4
gpt4 key购买 nike

我正在使用 Ansible 将日志移动到备份目录(使用 shell 模块,mv 命令)。
mv如果没有要移动的文件,命令将失败。
默认情况下,它会导致整个 Ansible 播放失败。
我可以继续玩,即使任务失败(ignore_errors: yes)

我对这个解决方案不满意,因为它会产生错误消息

TASK [move files to backup directory] ****************************************** fatal: [xx.xx.xx.xx]: FAILED! =...?No such file or directory", "stdout": "", "stdout_lines": [], "warnings": []} ...ignoring



如何检查 Ansible 中的目录是否为空,如果为空则跳过任务?

最佳答案

您可以使用 ansible 2.0 中的 find 模块来查找带有 .log 的文件目录中的扩展名,然后在找到文件时执行移动

- find: paths=DIRECTORY file_type=directory patterns="*.log"
register: dir_files

- shell: mv *.log /tmp
when: dir_files.matched|int != 0

关于ansible - 如果给定目录不为空,如何执行 Ansible 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37320746/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com