gpt4 book ai didi

ansible - 为什么这个ansible lineinfile任务总是触发通知?

转载 作者:行者123 更新时间:2023-12-02 05:13:47 25 4
gpt4 key购买 nike

以下任务总是触发通知

第一次运行 ansible 时会应用预期的更改,并且线路已更改。如果我再次运行它,ansible 会认为它是“已更改”,即使正则表达式不可能匹配,因为该行已变为“绑定(bind)地址 = 0.0.0.0”

为什么?

  - name: Ensure MySQL will listen on all ip interfaces (bind to 0.0.0.0)
lineinfile: dest=/etc/mysql/my.cnf
regexp='bind-address\s*=\s*127\.0\.0\.1\s*'
line='bind-address = 0.0.0.0'
state=present
insertafter=EOF
notify: restart mysql

最佳答案

引用the backrefs option lineinfile 模块的。具体来说,“如果正则表达式与文件中的任何位置都不匹配,则该文件将保持不变。”一个有效的剧本应该是这样的:

- name: Ensure MySQL will listen on all ip interfaces (bind to 0.0.0.0)
lineinfile: dest=/etc/mysql/my.cnf
regexp='bind-address\s*=\s*127\.0\.0\.1\s*'
line='bind-address = 0.0.0.0'
state=present
backrefs=yes
notify: restart mysql

关于ansible - 为什么这个ansible lineinfile任务总是触发通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794886/

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