saltstack(六) saltstack Job管理

一,简介
  Jid: job id 格式为%Y%m%d%H%M%S%f
  master在下发指令消息时,会附带上产生的jid,minion在接收到指令开始执行时,会在本地的cachedir(默认是/var/cache/salt/minion)
  下的proc目录产生已该jid命名的文件,用于在执行过程中master查看当前任务的执行情况,指令执行完毕将结果传送给master后,删除该
  临时文件
  master将minion的执行结果存放在本地/var/cache/salt/master/jobs目录,默认缓存24小时(可通过修改master配置文件keepjobs选项调整)

1  salt '*' test.ping -v          ##可以显示任务的Jid,-v 显示命令执行的详细过程2 [root@zabbixserver79 haifeng18]# salt '*' test.ping -v
3 Executing job with jid 20160421214402034735
4 -------------------------------------------
5 192.168.10.11:
6 True
7 .........

 

https://github.com/saltstack/salt/pull/12365             ##salt-master -v时显示详细的执行结果
  wrapper returns summary to a function           ##点击这个将代码加入到master中

二,Job基本管理

 saltutil模块中的job管理方法
  1, saltutil.running           ##查看minion当前正在运行的jobs

 1 [root@zabbixserver79 ~]# salt '* saltutil.running
 2 192.168.10.11:
 3     |_
 4       ----------
 5       arg:
 6           - sleep 30
 7       fun:
 8           cmd.run
 9       jid:
10           20160422112349721480
11       pid:
12           20379
13       ret:
14       tgt:
15           192.168.10.11 
16 tgt_type: 17 glob 18 user: 19 sudo_root

  2, saltutil.find_job <jid>    ##查看指定jid的job(minion正在运行的jobs)

 1 [root@zabbixserver79 ~]# salt '*' saltutil.find_job 20160422114120923967    ##首先执行saltutil.running 查看jid
 2 192.168.10.11:
 3     ----------
 4     arg:
 5         - sleep 30
 6     fun:
 7         cmd.run
 8     jid:
 9         20160422114120923967
10     pid:
11         23577
12     ret:
13     tgt:
14         192.168.10.11
15     tgt_type:
16         glob
17     user:
18         sudo_root

  3,saltutil.signal_job <jid> <single>   ##给指定的jid进程发送信号

1 [root@zabbixserver79 ~]# salt '*' saltutil.signal_job 20160422114328898570 9 
2 192.168.10.11:
3     Signal 9 sent to job 20160422114328898570 at pid 24281

   4,saltutil.term_job <jid>       ##终止指定的jid进程(信号为15)

1 [root@zabbixserver79 ~]# salt '*' saltutil.term_job 20160422114528346315
2 192.168.10.11:
3     Signal 15 sent to job 20160422114528346315 at pid 24737

  5,saltutil.kill_job <jid>         ##终止指定的jid进程(信号为9)同上,不在演示

  salt runner中的job管理方法:

  1,salt-run jobs.active          ##查看所有minion当前正在运行的jobs(在所有minion上运行saltutil.running)

 1 [root@zabbixserver79 ~]# salt-run jobs.active
 2 20160422115130700923:
 3     ----------
 4     Arguments:
 5         - sleep 30
 6     Function:
 7         cmd.run
 8     Returned:
 9     Running:
10         |_
11           ----------
12           192.168.10.11:
13               25659
14     Target:
15         192.168.10.11
16     Target-type:
17         glob
18     User:
19         sudo_root

  2, salt-run jobs.lookup_jid <jid>        ##从master jobs cache 中查询指定jid的运行结果

 1 [root@zabbixserver79 jobs]# salt-run jobs.lookup_jid 20160421215616643464
 2 192.168.10.11:
 3     ----------
 4     arg:
 5         - sleep 20
 6     fun:
 7         cmd.run
 8     jid:
 9         20160421215601609702
10     pid:
11         27040
12     ret:
13     tgt:
14         192.168.10.11
15     tgt_type:
16         glob
17     user:
18         sudo_root

  3,salt-run jobs.list_jobs         ##列出当前master jobs cache 中的所有job

 

posted @ 2016-04-22 12:01  邸海峰  阅读(3678)  评论(0编辑  收藏  举报
doc