管理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,test33salt -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]
例:
salt-call -l debug state.sls hosts.a