shell - 当命令脚本失败时,如何使我当前正在运行的 Autosys 作业变为 FA [失败]
问题描述
我有一个在 Autosys Job 中的脚本: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 是否正确捕获了退出代码。
推荐阅读
- python - put方法对python中的字典有什么作用?
- python - Python函数以某种方式覆盖参数并在调用的第二次迭代中失败
- r - 使用 get() 在 R 数据表中找不到数值列
- laravel - 如何在 Laravel 和 Eloquent 中查询模型的后代?
- c# - 我们可以将类字段分配给同一类(在 C# 中)中方法的默认或可选参数吗?
- android - setVisibility 不适用于 tabLayout - TabItem 为 findViewById() 返回 NullPointerException
- r - aov 和 t.test 提供不同的结果
- pandas - 是否可以使用 `style.apply()` 函数来改变很少的样式属性?
- python - sftp 到 aws lightail python 使用 pysftp 密钥错误
- node.js - 如何在 PDF 中嵌入和提取任意数据?