salt相关
salt '*' sys.list_modules
salt '*' sys.list_functions
salt '*' sys.list_functions test
salt '*' sys.doc test.ping
常用模块
salt 'minion01' cp.push /root/test.log
把minion01的文件发到了master /var/cache/salt/master/minions/minion01/files/root/test.log 下面
# salt 'minion01' file.copy /root/test.py /root/test.py.bak # 将minion端的一个文件copy成另一个文件
#salt '*' file.chown /etc/passwd root root 修 改文件属组
远程执行命令 cmd
#salt -v --out=json "*" cmd.run "ps aux |wc -l"
安装包 pkg
#salt "*" pkg.install "httpd" 安装
pkg.version
pkg.remove
管理服务模块 service
salt "*" service.status "httpd"
service.start|stop|restart
用户管理模块 user
salt '*' user.add 'test' shell=/sbin/nologin
user.delete
user.info
# salt '*' sys.list_state_modules //查看state所有模块
# salt '*' sys.list_state_functions pkg // 查看state指定模块的所有方法
# salt '*' sys.state_doc pkg // 查看模块方法的详细用法
# salt '*' sys.state_doc pkg.upgrade // 查看某个方法的详细用法
- 缩进 两个空格,不能tab键。表示层级关系
- 冒号 冒号后面一个空格,除了以冒号结尾和路径中的冒号
- 短横线 后面跟一个空格。表示列表项。
state.sls的写法:
# cat test.sls
lftp: # name
pkg.installed #状态模块 installed-ssh: # ID 必须唯一。一个id声明下,状态模块不能重复使用。
pkg.installed:
- names: # names复数,多个值,一行一个,列表项
- openssh-server
- openssh-clients
执行: salt '*' state.sls test
jinja模板语法:变量用{{...}}, 表达式用{%...%}
1. 设置jinja变量
{% set var='hello world!' %}
test_var:
cmd.run:
- name: echo "var is {{var}}"
设置:
字符串: {% set var='hello world!' %}
引用: {{var}}
列表: {% set list = ['one','two','three'] %}
{{ list[1] }}
字典: {% set dic = {'a':'11','b':'22'} %}
{{ dic['a'] }}
2,流程控制语句
For循环
{% for user in users %}
{{user}}
{% endfor %}
#字典
{% for key,value in my_dict.iteritems() %}
{{ key }}
{{ value }}
{% endfor %}
举例:
举例:
dir-tomcat:
file.directory:
{% for Dir in ['bin','conf','lib','logs','temp','webapps','work'] %}
- names:
- /usr/local/tomcat/{{Dir}}
{% endfor %}
- makedirs: True
- user: root
- group: root
- dir_mode: 755
- file_mode: 644
例2:
# salt "minion-2" grains.items
# salt "*" grains.ls
检索某一grains数据用如下命令:
#salt 'minion-2' grains.item os
了解操作系统信息后 ,可以使用grains定位主机,用-G或者--grains对只是centos的机器定位
#salt -G "os:CentOS" test.ping
#salt -G "hwaddr_interfaces:eth0:00:16:3e:06:39:af" test.ping
#配置pillar_roots
# vim /etc/salt/master
pillar_roots:
base:
- /srv/pillar
# salt '*' saltutil.refresh_pillar pillar刷新
{% set confdir="/etc/zabbix" %}
zabbix-conf:
file.managed:
- name: {{confdir}}/zabbix_agentd.conf
- source: salt://file/zabbix_agentd.conf
- user: root
- group: root
- mode: 755
- require:
- pkg: zabbix-pkg
- template: jinja
- defaults:
SERVER: {{ pillar['zabbix-agent'] }} #SERVER变量
# 定义pillar值
# cat /srv/pillar/zabbix-agent.sls
zabbix-agent: 192.168.1.10
# cat /srv/pillar/top.sls
base:
'*':
- zabbix-agent
# vim file/zabbix_agentd.conf #文件里面使用变量
Server={{ SERVER }}
Hostname={{ grains['fqdn'] }}
zabbix-yum: # ID号
pkgrepo.managed: # 方法名
- name: zabbix #参数 zabbix是文件名 发到客户端为/etc/yum.repos.d/zabbix.repo 文件
- humanname: Zabbix Official Repository - $basearch
- baseurl: http://repo.zabbix.com/zabbix/3.4/rhel/7/$basearch/
- enabled: 1
- gpgcheck: 0
- gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
salt相关的更多相关文章
- 从零开始搭建Salt Web之初探salt-api
Salt-API入门 在Google搜索栏输入salt-api,会有一些讲述如何使用Salt-API的文章,确实有效,不过都是建立 在将Salt安装在默认目录下的情况下,即通过apt-get inst ...
- saltstack 开发相关命令记录
SALT API开发相关命令记录. 查看当前的salt key信息salt-key -L 测试被控主机的连通性salt '*' test.ping 远程命令执行测试salt '*' cmd.run ' ...
- saltstack自动化运维系列12配置管理安装redis-3.2.8
一.准备redis自动化配置的文件(即安装一遍redis,然后获取相关文件和配置在salt中执行上线) 1.源码安装redis3.2.8并注册为系统服务 安装依赖yum install -y tcl ...
- saltstack自动化运维系列⑩SaltStack二次开发初探
saltstack自动化运维系列⑩SaltStack二次开发初探 1.当salt运行在公网或者网络环境较差的条件下,需要配置timeout时间vim /etc/salt/master timeout: ...
- 有道词典翻译(携带请求头和post参数请求)
一.静态爬取页面信息 有道翻译网址:http://fanyi.youdao.com/ 在翻译中输入python 找到接口和请求的方式 参数是From Data类型 需要把参数数据转换为字典, 复制粘贴 ...
- YAML描述与Python的对应关系
YAML是"YAML Ain't a Markup Language"的首字母缩写,其语法简单,结构通过空格来展示,(列表)项目使用"-"来代表,(字典)键值对 ...
- 记一次centos6升级salt-minion启动失败的问题
记一次centos6升级salt-minion启动失败的问题 作者:耀耀 blog:https://www.liuyao.me 一.起因 升级Salt-minion后 使用/etc/init.d/sa ...
- Java 权限框架 Shiro 实战一:理论基础
Apache Shiro 官网地址:http://shiro.apache.org/ Apache Shiro is a powerful and easy-to-use Java security ...
- saltstack安装+基本命令
环境: node1:172.16.1.60 OS:centos 7.3 master hostname:centos7u3-1 node2:172.16.1.61 OS:centos 7.3 mini ...
随机推荐
- Firemonkey的几个特色属性(二)
3.RotationAngle 控件的旋转角度,可以通过TAnimation进行角度旋转控制. 4.RotationCenter 控件旋转的中心位置,从(0,0)到(1,1),缺省是(0.5,0.5) ...
- Yum自动下载RPM包及其所有依赖的包
前几天我尝试去创建一个仅包含我们经常在 CentOS 7 下使用的软件的本地仓库.当然,我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的依赖软件包.你必须去花一些时 ...
- tp剩余未验证内容-3
为什么有时候会 出现 "上传文件保存错误"? public function save($file, $replace=true){ /* 移动文件 */ if (!move_up ...
- bzoj 3437 小p的农场
bzoj 3437 小p的农场 思路 \(f[i]=min(f[j]+\sum\limits_{k=j+1}^{i}{b[k]*(i-k)}+a[i])\) \(f[i]=min(f[j]+\sum\ ...
- Python hasattr() 函数 // python中hasattr()、getattr()、setattr()函数的使用
http://www.runoob.com/python/python-func-hasattr.html https://www.cnblogs.com/zanjiahaoge666/p/74752 ...
- IDEA旗舰版新建web项目
即在一个Project下(MyEclipse中为工作空间)新建一个Module. 点击,在弹出框上打一个勾,如下图: 点Next,输入项目名,如下图: 点Finish, 右键WEB-INF,新建2个D ...
- Redux 管理React Native数据
现在让我们看看大致的流程: React 可以触发 Action,比如按钮点击按钮. Action 是对象,包含一个类型以及相关的数据,通过 Store 的 dispatch() 函数发送到 Store ...
- P4574 [CQOI2013]二进制A+B
传送门 思路: 本题可用数位DP来做,设 f [ i ][ a ][ b ][ c ][ j ] 表示当前枚举到(二进制下的)第i位,a' b' c'各用a,b,c了几个1,j表示最后一位是否有进位. ...
- 前端阶段_div以及css介绍
1.div div是html的一个标签,是块级元素,单独使用没有意义,必须结合css来使用,进行网页布局 2.span span是一个html标签,是一个内联元素,主要对括起来的内容进行修饰 3.&l ...
- JsonAutoDetect注解找不到错误
RedisConfig类代码: package com.neo.SpringBoot.config; import java.lang.reflect.Method; import org.sprin ...