saltstack中onchange

最近需要用saltsatck实现程序批量更新,假设脚本名字为test,需求为:当有新的脚本上传到files中,更新/home/data/test/test文件,并重启服务,实例如下:

test_restart:
  cmd.run:
    - cwd: /home/data/test
    - name: /bin/bash restart.sh
    - onchanges:
      - file: /home/data/test/test

/home/data/test/test:
  file.managed:
    - source: salt://files/test
    - user: root
    - group: root
    - mode: 755
    - backup: minion

 

开始之前使用watch或者watch_in来检测文件边发,如果文件变化了就重启,没有变化就不重启,结果发现不管怎么样,cmd.run都会执行,最后查看官网文档有onchange这个参数,用这个就可以了。。。。

原因还在研究,看来是对watch理解不够透彻。

 

查询官网:

If a state should only execute when another state has changes, and otherwise do nothing, the new onchanges requisite should be used instead of watch. watch is designed to add additional behavior when there are changes, but otherwise the state executes normally.

已经告知了原因,问题解决。

 

转载于:https://www.cnblogs.com/wangyi891224/p/9003984.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值