当命令脚本失败时,如何使我当前运行的Autosys Job变为FA [Failure]



我有一个脚本在Autosys Job: JOB_ABC_S1

command : /ABC/script.sh
<<p> Scrpt.sh代码/strong>
grep -w "ABC" /d/file1.txt
status=$?
if [ $status -eq 0 ]
then 
    echo "Passed"
else
    echo "Failed"
    exit 1
fi 

我的问题是,即使脚本失败或通过,AutoSys作业被标记为SU SUCCESS

我不希望它标记为成功,如果脚本失败的…它应该将AutoSys标记为FA,如果脚本通过,则将job标记为SU SUCCESS

我应该在脚本中做些什么来实现它?

工作:

insert_job : JOB_ABC_S1
machine : XXXXXXXXXXX
owner : XXXXXXXX
box_name : BOX_ABC_S1
application : XXXX
permission : XXXXXXXXXXX
max_run_alarm : 60
alarm_if_fails : y
send_notification : n
std_out_file :  XXXXX
std_err_file :  XXXXX
command :  sh /ABC/script.sh

乍一看,一切似乎都很好。

然而,我建议一个脚本修改,你可以尝试一下。默认情况下,如果退出码不为零,Autosys将失败作业,除非指定。

JOB JIL似乎很好。

请更新你的脚本如下,并检查2件事:

  1. 已执行的作业退出代码:应该是1或2。我们正试图在这两种情况下都失败。
  2. Str日志文件
  3. 脚本:

#!/bin/sh
srch_count=$(grep -cw ABC /d/file1.txt)
if [ $srch_count -eq 0 ]; then
    echo "Passed"
    #exit 0 
    exit 2
else
    echo "Failed"
    exit 1
fi

这样我们可以确认退出代码是否被Autosys正确捕获。

相关内容

  • 没有找到相关文章

最新更新