saltStack 状态模块(状态间的关系)
2024-08-25 06:56:09
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下面一个模块只能只用使用一次
最新文章
- 用微信小程序做H5游戏尝试
- JavaScript对象与数组
- 使用WCF 测试客户端测试你的WCF服务
- 百度编辑器Ueditor 初始化加载内容失败解决办法
- Chapter10:泛型算法
- I.MX6 git patch
- javascript form 第22节
- Unity5.3——UI之Canvas
- HDU3714 Error Curves (单峰函数)
- Shell 脚本常用命令
- Microsoft Graph Web应用程序极致开发体验
- Git常用命令清单笔记
- Quartz 2.2 动态添加、修改和删除定时任务
- OOD之问题空间到解空间—附FP的建模
- 基于Verilog的带FIFO写入缓冲的串口发送接口封装
- html5-div布局
- win7 没有权限使用网络资源
- Ansible批量在远程主机执行命令
- MongoDB分片配置系列一:
- linux文件系统 - 初始化(三)
热门文章
- 群晖安装transmission
- mysql 无法存储joda time的datetime类型
- java.lang.ClassCastException: java.io.ByteArrayInputStream cannot be cast to java.io.FileInputStream
- QT_获取正在运行程序的进程id(判断程序是否正在运行)
- Vue--系统指令(基础)
- SVN failed: 405 Method Not Allowed
- C位域的初步了解
- Sql server定时执行某个sql 通过Windows 计划任务(非代理Job方式)
- 为什么不用原生的Spring Cloud Config
- iOS开发——你真的会用SDWebImage?