更新文件配置,但通过Ansible保留以前的值
是否可以通过更新文件配置,但通过Ansible保留以前的值,ansible,Ansible,是否可以通过lineinfle或其他模块更新文件配置,但保留以前的值 例如: SOME_ARGS=" -AA:1AA -BB:2BB -CC:3CC" 在行尾或行首添加-DD:4DD,结果为: SOME_ARGS=" -AA:1AA -BB:2BB -CC:3CC -DD:4DD" 或 这将不起作用,因为它将用行值替换文本: - lineinfile: path: "/some/file.txt" regexp: "^SOME_ARGS=.*-DD:4DD" line
lineinfle
或其他模块更新文件配置,但保留以前的值
例如:
SOME_ARGS=" -AA:1AA -BB:2BB -CC:3CC"
在行尾或行首添加-DD:4DD
,结果为:
SOME_ARGS=" -AA:1AA -BB:2BB -CC:3CC -DD:4DD"
或
这将不起作用,因为它将用行值替换文本:
- lineinfile:
path: "/some/file.txt"
regexp: "^SOME_ARGS=.*-DD:4DD"
line: "-DD:4DD"
insertafter: "^SOME_ARGS=\""
state: present
谢谢你的帮助 Ansible有些困难,我建议您将这些值更改存储在VCS上,然后您可以返回到以前的任何值 使用lineinfle,一个简单的解决方案是应用模块两次,一次用于注释上一个值,例如在开始处放置一个#,第二次将在注释后插入一个新行 注意,您的regexp需要处理其他文件值,Ansible中的这个模块要正确处理一些配置文件有点困难
- lineinfile:
path: "/some/file.txt"
regexp: "^SOME_ARGS=.*-DD:4DD"
line: "-DD:4DD"
insertafter: "^SOME_ARGS=\""
state: present