发表于 2018-8-1 12:10:12

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]
查看完整版本: saltstack用法记录