我有一个别人写的 salt 脚本,它正在执行一堆命令。它运行了很长时间。我与运行它的机器的连接断了,但它仍在运行。我如何返回它来查看它做了什么?我没有使用 启动它screen
。
该命令如下所示:
$ salt --subset=1 -C 'G@application:foo and G@roles:application and G@vpc:staging' state.sls foo.commands.application.export
有很多主持人扮演这个角色应用这些东西运行良好。我正在其他地方监控它正在做什么(推送到队列)的输出。
我相信我正在寻找某种“检查正在运行的 salt 脚本的状态“但在文档中找不到它。
我正在salt 2014.1.13 (Hydrogen)
奔跑Ubuntu 14.04.1 LTS
。
答案1
使用作业缓存。
首先列出最近带有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
然后获取特定 jid 的返回输出:
$ sudo salt-run jobs.lookup_jid 20141204125446199193 | head -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