salt-job管理
在SaltStack里执行任何一个操作都会在master上产生一个jid号,minion端会在cache目录下的proc目录创建一个以jid为名称的文件,这个文件里内容就是此次操作的记录,当操作完成后自动删除。
salt踢狗salt-run和moudle两种方式来管理JOB
1.通过salt-run来管理job
[root@node2 redis-4.0.10]# salt-run -d |grep jobs
'jobs.active:'
Return a report on all actively running jobs from a job id centric
salt-run jobs.active
'jobs.list_job:'
salt-run jobs.list_job 20130916125524463507
'jobs.list_jobs:'
List all detectable jobs and associated functions
salt-run jobs.list_jobs
'jobs.lookup_jid:'
salt-run jobs.lookup_jid 20130916125524463507
salt-run jobs.lookup_jid 20130916125524463507 outputter=highstate
'jobs.print_job:'
salt-run jobs.print_job 20130916125524463507
2.可以看到此次的任务号。
[root@node2 redis-4.0.10]# salt 'node1' cmd.run 'sleep 100;whoami'
^CExiting on Ctrl-C
This job's jid is:
20181227213754124155
The minions may not have all finished running and any remaining minions will return upon completion. To look up the return data for this job later run:
salt-run jobs.lookup_jid 20181227213754124155
3.查看这个job的运行结果
[root@node2 redis-4.0.10]# salt-run jobs.lookup_jid 20181227213754124155
node1:
root
4.查看这个JOB的详细记录
[root@node2 redis-4.0.10]# salt-run jobs.list_job 20181227213754124155
Arguments:
- sleep 100;whoami
Function:
cmd.run
Minions:
- node1
Result:
----------
node1:
----------
return:
root
StartTime:
2018, Dec 27 21:37:54.124155
Target:
node1
Target-type:
glob
User:
root
jid:
20181227213754124155
二。通过saltstack module 来管理JOB
2.1 查看module的用法
[root@node2 redis-4.0.10]# salt \* sys.doc saltutil |grep job
'saltutil.find_cached_job:'
Return the data for a specific cached job id
salt '*' saltutil.find_cached_job <job id>
'saltutil.find_job:'
Return the data for a specific job id
salt '*' saltutil.find_job <job id>
'saltutil.kill_job:'
Sends a kill signal (SIGKILL 9) to the named salt job's process
salt '*' saltutil.kill_job <job id>
salt '*' saltutil.runner jobs.list_jobs
'saltutil.signal_job:'
Sends a signal to the named salt job's process
salt '*' saltutil.signal_job <job id> 15
'saltutil.term_job:'
Sends a termination signal (SIGTERM 15) to the named salt job's process
salt '*' saltutil.term_job <job id>
2.2. 接着用这个例子去测试
[root@node2 redis-4.0.10]# salt 'node1' cmd.run 'sleep 100;whoami'
[root@node2 redis-4.0.10]# salt 'node1' saltutil.find_job 20181227220403774993
可以直接kill这个job
[root@node2 redis-4.0.10]# salt 'node1' saltutil.kill_job 20181227220403774993
node1:
Signal 9 sent to job 20181227220656122140 at pid 143225
浙公网安备 33010602011771号