- ***********模块***********
- 查看模块列表module
- salt 'minion' sys.list_modules
- 查看指定module的function用法
- salt 'minion' sys.list_functions file
- 查看指定模块的详细用法
- salt 'minion' sys.doc cmd
- ***********模块使用说明***********
- 查看配置管理state模块列表
- salt 'minion' sys.list_state_modules
- 查看配置管理sate列表指定模块所有方法列表
- salt 'minion' sys.list_state_functions svn
- 查看配置管理state列表指定模块详细用法
- salt 'minion' sys.state_doc file
- 查看配置管理state列表指定模块的方法分支
- salt 'minion' sys.state_doc file.managed
- ***********pillar变量***********
- 查看主机对应的所有pillar变量值
- salt '*' pillar.data
- salt '*' pillar.items
- 查看主机对应的多个pillar变量值
- salt '*' pillar.item roles appname
- 修改pillar值后需要刷新pillar数据
- salt '*' saltutil.refresh_pillar
- 查看pillar模块详细用法,其他类似
- salt 'minion' sys.doc pillar
- 查看pillar的相关方法
- salt 'minion' sys.list_functions pillar
- """
- shuke:
- - pillar.data
- - pillar.ext
- - pillar.get
- - pillar.item
- - pillar.items
- - pillar.raw
- """
- ***********grains变量***********
- 查看模块用法
- salt 'minion' sys.list_functions grains
- 查看item项
- salt 'minion' grains.ls
- 查看所有iteams
- salt 'minion' grains.items
- 获得某个item值
- salt 'minion' grains.get os
- 同步_grains目录下的py脚本至minion
- salt 'minion' saltutil.sync_all
- 如果py模块有修改,修改后进行重载
- salt 'minion' sys.reload_modules
- ***********minions在线状态***********
- 查看所有minion状态
- salt-run manage.status
- 查看所有minion在线状态
- salt-run manage.up
- 查看所有minion不在线状态
- salt-run manage.down
- ***********key管理***********
- salt-key 密钥管理,通常在master端执行
- salt-key [options]
- salt-key -L ##查看所有minion-key
- salt-key -a <key-name> ##接受某个minion-key
- salt-key -d <key-name> ##删除某个minion-key
- salt-key -A ##接受所有的minion-key
- salt-key -D ##删除所有的minion-key
- ***********salt-call相关***********
- salt-call 该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job
- salt-call [options] <function> [arguments]
- salt-call test.ping ##自己执行test.ping命令
- salt-call cmd.run 'ifconfig' ##自己执行cmd.run函数
- ***********文件分发***********
- salt-cp 分发文件到minion上,不支持目录分发,通常在master运行
- salt-cp [options] '<target>' SOURCE DEST
- salt-cp '*' testfile.html /tmp
- salt-cp 'test*' index.html /tmp/a.html
- salt 'S1_0_001_Room' cp.get_dir salt://package /tmp -v 同步目录
- salt 'S1_0_001_Room' cp.get_file salt://package/minions.tar.gz /tmp/minions.tar.gz gzip=5 同步文件
- **********其他***********
- salt-run jobs.active #查看所有minion当前正在运行的jobs
- salt '*' saltutil.running # 查看正在运行的任务,找到jid
- salt '*' saltutil.kill_job jid # 根据jid杀掉任务
- salt '*' saltutil.clear_cache # 清除minion缓存
- 执行单个命令
- salt 'minion' cmd.run 'ps -ef | grep mongod'
- 测试单个sls模块
- salt 'minion' state.sls nginx test=True
- 执行前进行测试
- salt 'minion' state.highstate test=True
- 在所有minion上执行状态:
- salt 'minion' sate.highstate
- 获取执行jib任务的md5值
- salt 'minion' hashutil.md5_digest 20170202150211366486
- low数据可以使用state.show_lowstate方法查看
- salt 'minion' state.show_lowstate --out yaml
- High State数据可以使用state.show_hoghstate方法查看
- salt 'minion' state.show_highstate --out yaml
- #查看highstate
- salt 'minion' state.show_highstate
- #查看lowdata
- salt 'minion' state.show_lowstate
- #执行所有top.sls
- salt '*' state.apply
- #执行指定环境下top.sls
- salt '*' state.apply saltenv=dev
- 注:
- name:要执行的命令,记住该命令将会在salt-minion的路径和权限下执行
- onlyif:用于检查的命令,仅当``onlyif``选项指向的命令返回true时才执行name定义的命令
- unless:用于检查的命令,仅当``unless``选项指向的命令返回false时才执行name指向的命令
- 查看wyd用户下进程
- salt -N 'Z1_S2' cmd.run 'su -c "ps -u wyd | grep -v top | grep -v bash | grep -v sshd | grep -v grep | grep -v ps | grep -v CMD " wyd'
- state中(钩子函数)
- requisiterequisite:require/watch/onchanges/onfail/use/prereq/require_in(反转)
- ========Targeting Minion=======
- #Glob(默认)
- salt '*' test.ping
- salt \* test.ping
- #PCRE 正则表达式
- salt -E '^[m|M]in.[e|o|u]n$' test.ping = salt -E '^[mM]in.[eou]n$' test.ping
- #list
- salt -L web1,web2,db1 test.ping
- #Subnet
- salt -S 192.168.1.100 test.ping
- salt -S 192.168.0.0/16 test.ping