如何检查在后台运行的 salt 命令的输出?

sim*_*que 7 saltstack

我有一个由其他人编写的盐脚本,它正在执行一堆命令。它运行了很长时间。我与运行它的机器的连接中断了,但它仍在运行。我如何返回它以查看它的作用?我没有使用screen.

命令如下所示:

$ salt --subset=1 -C 'G@application:foo and G@roles:application and G@vpc:staging' state.sls foo.commands.application.export
Run Code Online (Sandbox Code Playgroud)

有很多主机都有角色应用程序,而且这些东西运行良好。我正在其他地方监视正在执行的操作(推送到队列)的输出。

我相信我正在寻找某种“检查正在运行的 salt 脚本的状态”,但在文档中找不到。

我跑salt 2014.1.13 (Hydrogen)Ubuntu 14.04.1 LTS

Dan*_*ite 10

使用作业缓存。

首先用jobs.active或列出最近的工作jobs.list_jobs

$ sudo salt-run jobs.list_jobs
注意我在这里只包含了一个条目

'20141204125446199193':
  Arguments:
  - salt-ssh production cmd.run_all bash /home/Administrator/bin/weekly-product-build.sh
  Function: cmd.run_all
  StartTime: 2014, Dec 04 12:54:46.199193
  Target: lead
  Target-type: glob
  User: root
Run Code Online (Sandbox Code Playgroud)

然后获取特定 jid 的返回输出:

$ sudo salt-run jobs.lookup_jid 20141204125446199193 | 头-22

lead:
    ----------
    pid:
        2301
    retcode:
        0
    stderr:

    stdout:
        production:
            ----------
            pid:
                688
            retcode:
                1
            stderr:
                + case $(date +%a) in
                ++ date +%a
                ++ date -d Thursday +%F
                + TARGET_DATE=2014-12-04
                ++ date -d 2014-12-04 +%Y%m%d
                + ymd=20141204
Run Code Online (Sandbox Code Playgroud)