zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    node.js 安装后怎么打开 node.js 命令框
    thinkPHP5 where多条件查询
    网站title中的图标
    第一次写博客
    Solution to copy paste not working in Remote Desktop
    The operation could not be completed. (Microsoft.Dynamics.BusinessConnectorNet)
    The package failed to load due to error 0xC0011008
    VS2013常用快捷键
    微软Dynamics AX的三层架构
    怎样在TFS(Team Foundation Server)中链接团队项目
  • 原文地址:https://www.cnblogs.com/zhaobin-diray/p/10187774.html
Copyright © 2011-2022 走看看