当前位置:  开发笔记 > 运维 > 正文

Ansible blockinfile模块幂等?

如何解决《Ansibleblockinfile模块幂等?》经验,为你挑选了1个好方法。

我想使用该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



1> techraf..:

是.blockinfile默认情况下,module是幂等的.

除了您指定的内容之外,它还添加了两行:在块的开头和块的末尾.在后续运行中,它会检查这两个标记之间的内容,如果内容未更改,则返回"ok"状态,不会再次插入.

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

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

阅读blockinfileAnsible文档中的更多信息.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有