|
什么是Job?
我们没执行一次salt命令就会产生一个Job,在日常的管理工作中,我们需要管理这些Job。比如由于网络原因,一个Job执行中断了,需要知道Job目前的工作状态。再比如我们要kill掉一个刚刚执行的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选项调整)
Job常用管理
saltutil模块中的job管理⽅法
saltutil.running #查看minion当前正在运⾏的jobs
saltutil.find_job<jid> #查看指定jid的job(minion正在运⾏的jobs)
saltutil.signal_job<jid> <single> #给指定的jid进程发送信号
saltutil.term_job <jid> #终⽌指定的jid进程(信号为15)
saltutil.kill_job <jid> #终⽌指定的jid进程(信号为9)
❖salt runner中的job管理⽅法
salt-run jobs.active#查看所有minion当前正在运⾏的jobs(在所有minions上运⾏saltutil.running)
salt-run jobs.lookup_jid<jid> #从master jobs cache中查询指定jid的运⾏结果
salt-run jobs.list_jobs#列出当前master jobs cache中的所有job
Salt Schedule
如果想让Minion定期的来Master拉取状态。Saltstack也是支持的。Salt使用Salt Scheduling来进行设置。
schedule:
highstate:
function: state.highstate
minutes: 60
转自:http://www.linuxhot.com/saltstack-job.html |
|
|