unless onlyif:状态间的条件判断,主要用于cmd状态模块

常用方法:

     onlyif:检查的命令,仅当'onlyif'  选项指向的命令返回true时才执行name 定义的命

unless:用于检查的命令,仅当'unless'  选项指向的命令返回false时才执行name 定义的命

()修改配置文件,添加认证功能
[root@linux-node1 apache]# vim files/httpd.conf
<Directory "/var/www/html/admin">
AllowOverride All
Order allow,deny
Allow from all
AuthType Basic
AuthName "haha"
AuthUserFile /etc/httpd/conf/htpasswd_file
Require user admin
</Directory> ()修改状态文件init.sls
[root@linux-node1 apache]# vim init.sls
apache-install:
pkg.installed:
- name: httpd apache-config:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd.conf
- user: root
- group: root
- mode: apache-auth:
pkg.installed:
- name: httpd-tools
cmd.run:------>使用cmd模块的run方法
- name: htpasswd -bc /etc/httpd/conf/htpasswd_file admin admin---->生成密码文件
- unless: test -f /etc/httpd/conf/htpasswd_file---->unless判断条件,test -f判断为假则执行。即htpasswd文件如果不存在就执行生成密码

requisites : 状态间关系模块使用

`require`         #我依赖某个状态,也就是某个状态失败了,就不执行name
`require_in` #我被某个状态依赖
`watch ` #我关注某个状态
`watch_in` #我被某个状态关注 
[root@linux-node1 apache]# vim init_require.sls
apache-install:
pkg.installed:
- name: httpd apache-config:
file.managed:
- name: /etc/httpd/conf/httpd.conf
- source: salt://apache/files/httpd1.conf----->将此处的文件改错,模拟配置错误
- user: root
- group: root
- mode: apache-service:
service.running:
- name: httpd
- enable: True
- require:---------------------------->使用require,表示依赖
- pkg: apache-install--------------->依赖的状态模块为pkg模块,id为apache-install 也就是说这个安装成功后执行
- file: apache-config--------------->依赖的状态模块为file模块,id为apache-config 也就是说文件管理成功后执行 在执行service前 先pkg中的
apache-install 然后在执行 fil中的 apache-config 模块执行都成功 才执行service.running模块

#注意一个ID下面一个模块只能只用使用一次

最新文章

  1. 用微信小程序做H5游戏尝试
  2. JavaScript对象与数组
  3. 使用WCF 测试客户端测试你的WCF服务
  4. 百度编辑器Ueditor 初始化加载内容失败解决办法
  5. Chapter10:泛型算法
  6. I.MX6 git patch
  7. javascript form 第22节
  8. Unity5.3——UI之Canvas
  9. HDU3714 Error Curves (单峰函数)
  10. Shell 脚本常用命令
  11. Microsoft Graph Web应用程序极致开发体验
  12. Git常用命令清单笔记
  13. Quartz 2.2 动态添加、修改和删除定时任务
  14. OOD之问题空间到解空间—附FP的建模
  15. 基于Verilog的带FIFO写入缓冲的串口发送接口封装
  16. html5-div布局
  17. win7 没有权限使用网络资源
  18. Ansible批量在远程主机执行命令
  19. MongoDB分片配置系列一:
  20. linux文件系统 - 初始化(三)

热门文章

  1. 群晖安装transmission
  2. mysql 无法存储joda time的datetime类型
  3. java.lang.ClassCastException: java.io.ByteArrayInputStream cannot be cast to java.io.FileInputStream
  4. QT_获取正在运行程序的进程id(判断程序是否正在运行)
  5. Vue--系统指令(基础)
  6. SVN failed: 405 Method Not Allowed
  7. C位域的初步了解
  8. Sql server定时执行某个sql 通过Windows 计划任务(非代理Job方式)
  9. 为什么不用原生的Spring Cloud Config
  10. iOS开发——你真的会用SDWebImage?