saltstack用法记录
1远程执行脚本,脚本放在/srv/salt/script目录下salt 'web1' cmd.script salt://script/make_dir.sh
2把salt-master主机上的目录拷贝(/srv/salt/script文件夹)到目标机器上指定位置(/opt目录下)
salt 'web2' cp.get_dir salt://script /opt
3把salt-master主机上的文件拷贝到目标机器的指定位置
salt 'web2' cp.get_file salt://hosts /opt/hosts
4把url内容复制到指定的位置
salt 'web2' cp.get_url http://www.baidu.com /usr/share/nginx/html/baidu.html
5设置定时任务
salt '*' cron.set_job root '*' '*' '*' '*' '*' "/usr/sbin/ntpdate 1.cn.pool.ntp.org &> /dev/null"
6在master端定制grains数据(在/srv/salt/_grains目录下新建py文件,名字随意)
#!/usr/bin/env python
import os
import sys
import commands
def Grains():
'''
return if server install zabbix
'''
grains = {}
grains['zabbix']=os.path.exists('/usr/local/zabbix')
return grains
同步模块
salt '*' saltutil.sync_all
刷新模块
salt '*' sys.reload_modules
查看定制主机的grains信息是否生效
salt '*' grains.item zabbix
7定制pillar
version:
{% if grains['host'].startswith('web') %}
nginx: 1.8.0
openssl: 1.0.1t
pcre: 8.39
zlib: 1.2.11
{% endif %}
8根据pillar值执行命令
salt -I 'version:nginx:1.8.0' test.ping
9任务没结束,重新执行报错
The function "state.sls" is running as PID 3167 and was started at 2017, Jun 08 14:40:21.506185 with jid 20170608144021506185
使用命令强制结束
salt '*' slatutil.term_job 20170608144021506185
页:
[1]