远程操作:
salt ‘*’ cmd.run "uptime"
一 实例操作:
1 说明:yum安装apache 并且在master端同步httpd.conf文件,而且当这个文件修改时重启apache
2 结构目录
[root@slave salt]# tree
.
├── apache
│ ├── apache.sls
│ └── httpd.conf
├── top.sls
top.sls:是salt的入口 执行的第一个文件
apache.sls:具体的操作写在这里
httpd.conf:需要同步到客户端的apache主配置文件
[root@slave salt]# cat top.sls
base: ##base语法告诉Salt这是基础配置文件
'*': ## 被执行的对象 *表示所有的客户端 可以在这单独写某一个客户端的ID 如slave-142
- apache.apache ## 第一个apache是在/srv/salt/ 的目录 第二个其实是apache.sls 但是这里可以直接写成apache
'slave-142': ## 单指一台期机器
- ntp.sls
[root@slave salt]# cat apache/apache.sls
apache: ##ID标识 可以随意取
pkg: ##安装包管理
- name: httpd
- installed ##执行安装操作
service: ##服务管理
- name: httpd
- running ##保证上述的httpd服务启动
- reload: True ##观察watch制定的文件 要是文件有修改 重启
- enable: True ##服务开启启动
- watch:
- file: /etc/httpd/conf/httpd.conf ##客户端的配置文件
/etc/httpd/conf/httpd.conf: ##客户端的配置文件
file.managed: ##文件管理
- source: salt://apache/httpd.conf ##服务器端本地的文件和路径 salt//这个配置在master中配置 默认是在/srv/salt/ 需要开启注视
- user: root
- group: root
- mode: 644
- backup: minion ##执行操作前备份
执行操作:
由于之前我过操作 httpd已经成功安装 这次测试的是修改了httpd.conf文件
[root@slave salt]# salt '*' state.highstate
68:
----------
ID: apache
Function: pkg.installed
Name: httpd
Result: True
Comment: Package httpd is already installed
Changes:
----------
ID: /etc/httpd/conf/httpd.conf
Function: file.managed
Result: True
Comment: File /etc/httpd/conf/httpd.conf updated
Changes:
----------
diff:
---
+++
@@ -1007,5 +1007,5 @@
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
-####hihi test### 修改的时候去掉了这行
-###test # 修改的时候去掉了这行
+####20140414 test### 新添加行
+###test 2014 #新添加行
----------
ID: apache
Function: service.running
Name: httpd
Result: True
Comment: Service reloaded
Changes:
----------
httpd:
True
Summary
------------
Succeeded: 3
Failed: 0
------------
Total: 3
当你在一个sls中写有多个操作但是要只操作一个 salt '*' state.highstate exclude="[{'id':'httpd'}]" -t 60
当不需要操作所有的客户端 可以 salt 'slave-143' state.highstate 只操作一台机器
当只想操作一个sls文件 salt 'slave-143' state.sls httpd ##对143这个客户端执行httpd.sls文件操作
转载于:https://blog.51cto.com/kexl908/1395350