当命令脚本失败时,如何使我当前的 运行 Autosys Job 变为 FA [Failure]
How to make my currently running Autosys Job to FA [Failure] , when command script fails
我在 Autosys 作业中有一个脚本:JOB_ABC_S1
command : /ABC/script.sh
Scrpt.sh代码
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,如果脚本通过则将作业标记为 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 好像没问题。
请如下更新您的脚本并检查两件事:
- 已执行的作业 EXIT-CODE:它应该是 1 或 2。在这两种情况下我们都试图使作业失败。
- Str 日志文件
脚本:
#!/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 正确捕获。
我在 Autosys 作业中有一个脚本:JOB_ABC_S1
command : /ABC/script.sh
Scrpt.sh代码
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,如果脚本通过则将作业标记为 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 好像没问题。
请如下更新您的脚本并检查两件事:
- 已执行的作业 EXIT-CODE:它应该是 1 或 2。在这两种情况下我们都试图使作业失败。
- Str 日志文件
脚本:
#!/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 正确捕获。