salt常用命令 | 16

简介: salt常用命令 | 16

***********模块***********

查看模块列表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


相关文章
|
3月前
|
Python
Salt-minion日志|2-1
Salt-minion日志|2-1
34 6
7-20|查找salt-minion之grains
7-20|查找salt-minion之grains
|
3月前
|
Linux
Salt-ssh批量部署minion
1. 配置salt-ssh 1.1 Master节点安装salt-ssh软件包 yum -y install salt-ssh 1.
1092 0
|
PHP 开发工具 git
|
监控 网络安全 数据安全/隐私保护