在scriopt中获取Job前任作业名称

时间:2015-10-02 09:35:18

标签: autosys

我有一个以这种情况运行的邮件作业(作业邮件)

  

s(工作A)| s(工作B)| s(工作C)

,如果三个Jobs中的任何一个成功运行邮件Job,那么它就像我预期的那样运行。

现在我需要在脚本中获取成功的名称,即在脚本中触发Job-Mail,因为我在脚本中有一个逻辑来生成文件A,因为Job A成功并生成文件B,因为作业B成功

1 个答案:

答案 0 :(得分:0)

在shell脚本中,使用 job_depends -c -j Job-Mail并寻找原子条件。您将获得所有前任工作及其状态。在sed / awk / grep的帮助下,查看哪些作业成功并返回名称。如果超过1个工作成功,则提出异常或查看首先完成并返回该工作。

或者,您可以在shell中执行if else,条件应该类似于

jobWhichKickedJob-Mail = ""
if `autostatus -j Job A` = 'SUCCESS' then 
  jobWhichKickedJob-Mail = "Job A"
elif `autostatus -j Job B` = 'SUCCESS' then 
  jobWhichKickedJob-Mail = "Job B"
else 
  jobWhichKickedJob-Mail = "Job C"

并使用此变量。

注意:在脚本运行时,如果任何其他作业成功,您可能无法获得正确的结果。