16-saltstack(9)_saltstack高级话题

1、salt job管理

1.什么是job?

  • salt每次运行任务时都会将作业任务发布到pub-sub总线,minion会对任务做出相应。
  • 为区分不同的任务,salt-master每次发布一个任务都会为该任务创建一个jobid,不同的jobid对应一个独立的操作任务。
  • master端默认情况下回缓存24小时内的所有job的详细操作,缓存目录为 /var/cache/salt/master/jobs
  • minion端每次执行任务都会在 /var/cache/salt/master/jobs目录中创建以jobid为名称的文件,文件里面也是对本次任务的缓存。任务执行完毕后文件会被删除。
  • 例子如下:
## 在minion执行 [root@138 ~]# ls /var/cache/salt/minion/proc/ 输出为空

## 在master上执行一个长时间任务 [root@localhost ~]# salt 138 cmd.run "sleep 100"

## minion端上,用strings查看
[root@138 ~]# ls /var/cache/salt/minion/proc/
20170926162337629827
[root@138 ~]# strings /var/cache/salt/minion/proc/20170926162337629827
tgt_type
glob
20170926162337629827
user
root
sleep 100
cmd.run

20170926162337629827即为jobid,在任务执行完成后会被删除

2、管理job
#### 查看相关job的信息
[root@localhost ~]# salt "*" saltutil.find_job 20170926180228138610 
138:
    ----------
    arg:
        - sleep 100
    fun:
        cmd.run
    jid:
        20170926180228138610
    pid:
        3050
    ret:
    tgt:
        *
    tgt_type:
        glob
    to:
        5
    user:
        root
        
#### kill指定的job
[root@localhost ~]# salt "*" saltutil.kill_job 20170926180228138610 

#### 查看master上cache的所有job:
[root@localhost ~]# salt "*" saltutil.runner jobs.list_jobs|more
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 学习地址[http://tech.mainwise.cn/?p=438] 更新于 3.25 23:16 salt简...
    J书越来越垃圾了阅读 30,922评论 9 36
  • 早餐家中面包 中午江南老粥铺 晚上臀股做粥和炒小白菜 穿横条半袖和宽松裤子
    小兰芝阅读 180评论 0 0
  • 宽容之心是合作能力的必备条件。只有宽容、大度,才能包容别人不同的观念、行为,才能与他人更好地合作。但宽容不是无端地...
    饥者求食阅读 183评论 0 4
  • 朵儿快六个月了。 这个月最大的变化有两个,一个好像是认人,一个是可以坐了。 1 妈妈最可爱 每天我一看着她笑,她必...
    幕芷阅读 195评论 0 0