管理Job

查看所有minion端的状态:
salt-run manage.status

查看没在线的minion端:
salt-run manage.down

查看在线的minion端:
salt-run manage.up

查看所有minion端当前正在运行的jobs:
salt-run jobs.active

在master端查看正在运行的jobs:
salt '*' saltutil.running

关闭所有minion端正在运行的job:
salt '*' saltutil.kill_job <jid>

关闭单个minion(如test22)的job:
salt 'test22' saltutil.kill_job <jid>

Saltstack匹配Minion ID的多种方法

target也就是目标,目的.指定master命令应该对谁执行
1、Globbing通配符
表示target匹配所有
salt '*' saltutil.running

?表示任意一个字符
salt 'test?2' test.ping

2、regularexpressions正则表达式
同时匹配test22,test33
salt -E 'test(22|33)' test.ping

3、List列表
salt -L 'test22,test33' test.ping

4、grains匹配
salt -G 'os:CentOs' test.ping

通过cmd.run模块发送命令到mininon端执行

例:
salt '*' cmd.run 'uptime'

Saltstack指定脚本到minion端执行

写一个简单的测试脚本,测试完后记得用job管理kill掉:

while true
do
echo 1 >>/tmp/1.txt

sleep 1

done

把脚本放到test22上执行:
salt 'test22' cmd.script salt://script/echo.sh
用tail -f 到test22下查看/tmp/1.txt一直在打印

[root@test22 ~]# tail -f /tmp/1.txt 
1
1
1
1

在minion端执行:salt-call

该命令通常在minion上执行,minion自己执行可执行模块,不是通过master下发job
用法:
salt-call [options] [arguments]
例:
salt-call -l debug state.sls hosts.a

文档更新时间: 2019-06-04 16:06   作者:子木