gpt4 book ai didi

Ansible blockinfile 模块幂等?

转载 作者:行者123 更新时间:2023-12-01 09:16:59 25 4
gpt4 key购买 nike

我想使用 blockinfile 在文件中插入一些行模块。
任务是这样的:

name: add some lines
become: true
blockinfile:
dest: /etc/sysctl.conf
block: |
mykey1={{ kernvars['my_value1'] }}
mykey2={{ kernvars['my_value2'] }}
mykey3={{ kernvars['my_value3'] }}

有没有办法让模块(或相关模式)仅在特定行不存在时检查和插入它们?

使用 ansible 2.0.0.2Ubuntu 16.04.01

最佳答案

是的。 blockinfile模块默认是幂等的。

除了您指定的内容外,它还添加了两行:在 block 的开头和在 block 的末尾。在随后的运行中,它检查这两个标记之间的内容,如果内容没有改变,它返回“ok”状态并且不再插入它。

这些行应该作为注释插入到配置文件中,因此根据您使用的确切配置文件格式,您可以使用 marker 自定义用于标记注释的字符。参数(默认为 # )。

如果您使用多个 blockinfile在同一个目标文件上的任务,您应该另外为每个任务添加一个唯一的字符串(也在 marker 参数中),以便 Ansible 可以区分它们。

阅读更多关于 blockinfile 在 Ansible 文档中。

关于Ansible blockinfile 模块幂等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41549633/

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