使用Ansible创建空文件的最简单方法是什么?我知道我可以将一个空文件保存到files
目录中,然后将其复制到远程主机,但是我发现这样做有些不满意。
另一种方法是触摸远程主机上的文件:
- name: create fake 'nologin' shell
file: path=/etc/nologin state=touch owner=root group=sys mode=0555
但是随后每次都触摸文件,在日志中显示为黄线,这也不令人满意。
有没有更好的解决方案来解决这个简单的问题?
文件模块的文档说
如果为
state=file
,则如果文件不存在,则不会创建该文件,如果需要该行为,请参见副本或模板模块。
因此,我们使用复制模块,force=no
仅当文件不存在时才使用它创建一个新的空文件(如果文件存在,则保留其内容)。
- name: ensure file exists
copy:
content: ""
dest: /etc/nologin
force: no
group: sys
owner: root
mode: 0555
这是一个声明式的优雅解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句