码迷,mamicode.com
首页 > 其他好文 > 详细

salt job管理

时间:2017-08-25 01:07:32      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:问题   state   目录   minion   font   blog   min   roc   收集   


job management
salt在job任务上的管理

使用saltutil模块进行任务管理
1、running 返回在 proc 目录下找到的所有正在运行的任务.
示例:
ll /var/cache/salt/minion/proc/
-rw-r--r-- 1 root root 109 Aug 24 21:28 20170824212833356710

2、find_job 返回指定任务ID的详细数据.
salt ‘10.XX.X.19‘ saltutil.find_job 20170824213949924876
10.88.4.19:
----------
arg:
- sleep 50;echo 1
fun:
cmd.run
jid:
20170824213949924876
pid:
32584
ret:
tgt:
10.88.4.19
tgt_type:
glob
user:
root
3、signal_job 允许给指定任务ID发送一个信号.

4、term_job 发送termination信号(SIGTERM, 15)给指定的任务.

5、kill_job 发送kill信号(SIGKILL, 9)给指定的任务.

这是一个非常好的问题,也是平时容易遇到的一个问题,关于调用脚本执行出现问题的时候
需要kill的情况,父子进程彻底kill掉
http://www.huangdc.com/66
https://my.oschina.net/dchuang/blog/489664

这些方法是提供了在minion级别管理任务的核心.


使用salt-run进行任务管理,在master端执行命令

salt-run jobs.active
#查询当前所有在minion端正在执行的任务,相当于在所有机器上运行saltutil.running

salt-run jobs.lookup_jid
#由于master默认设置可以保留24小时的jobs的结果信息,所以可以查询到最近执行过的任务
历史结果

salt-run jobs.list_jobs
#列出最近缓存的任务结果,很多都是系统内部通信的任务


SaltStack通过Schedule实现批量的计划任务和管理,主要任务定期执行配置同步、执行命令等等。
可以在master端和minion端配置schedule

在master的pillar环境目录中设置定时任务
示例:
more top.sls
abc:
‘10.64.1.127‘:
- schedule #导入的模块名

more schedule.sls
schedule:
log-loadavg: #任务名
function: cmd.run #函数
seconds: 3 #时间间隔
args:
- ‘echo "1" >> /opt/a‘
kwargs:
stateful: False
shell: /bin/sh

salt "10.XX.1.127" saltutil.refresh_pillar
#将任务推送到minion

#salt "10.XX.1.127" pillar.get schedule
查询minion端有哪些定时任务

如果要删除在pillar上设置的定时任务,则需要在删除定时任务的配置并
使用saltutil.refresh_pillar更新,收集到的信息可以放入数据库里面。

注意:目前暂时没有发现在minion端配置定时任务的方法。

 

 

 



salt job管理

标签:问题   state   目录   minion   font   blog   min   roc   收集   

原文地址:http://www.cnblogs.com/solitarywares/p/7425942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!