一,簡介
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
