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