码迷,mamicode.com
首页 > 其他好文 > 详细

理解saltstack 里cmd.run 配合onlyif和unless使用

时间:2019-01-16 23:20:21      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:start   cat   config   manage   files   tac   机器   als   port   

自己琢磨的好几天就是光看资料,还是没琢磨明白,建议大家一定 要亲自动手在机器上测试下。
我们以saltstack管理tomcat启动与重启为例子:

master主机上目录结构如下

[root@syl salt]# pwd
/srv/salt
[root@syl salt]# tree
.
├── app
│?? ├── files
│?? │?? └── server.xml
│?? └── tomcat.sls
└── prod
    ├── services
    └── states

5 directories, 2 files

tomcat.sls状态文件如下

tomcat-config-copy:
  file.managed:
    - name: /usr/local/tomcat/conf/server.xml
    - source: salt://app/files/server.xml
    - user: root
    - group: root
    - mode: 755
    - template: jinja
    - defualts:
      PORT: 8081

tomcat-service-restart:
  cmd.run:
    - name: netstat -nltp|grep 8081|awk -F ‘ ‘ ‘{print $7}‘|awk -F ‘/‘ ‘{print $1}‘|xargs kill -9 && /usr/local/tomcat/bin/startup.sh
    #onlyif表示只要我下面的条件为真(True),则上面cmd.run的这条命令就执行,如果onlyif下面的执行语句为假(false),则cmd.run的这条命令就不执行
    - onlyif: curl http://47.100.24.206:8081/    #onlyif这里用test -e /usr/local/tomcat/conf/server.xml测试这个文件是否存在也是可以
#而把onlyif换成unless则正好相反,换成unless之后,unless下面的执行语句如果执行成功返回为真(True),则cmd.run下的这条语句就不执行。

理解saltstack 里cmd.run 配合onlyif和unless使用

标签:start   cat   config   manage   files   tac   机器   als   port   

原文地址:http://blog.51cto.com/song1230/2343579

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!