如何配置Autosys作业:命令作业失败时仍保持成功状态
Autosys作业强制置为成功状态的解决方案
要实现命令执行失败但Autosys作业仍标记为成功,你之前用exitcode 99无效的核心原因是:Autosys默认仅将返回码0判定为成功,未配置映射的非0返回码都会被标记为失败。以下是两种直接可行的方案:
方案1:修改Shell脚本强制返回0
直接在脚本里忽略命令的执行结果,强制返回0即可。示例如下:
# 执行你的目标命令 /path/to/your/task_command # 不管命令执行成功或失败,都返回0让Autosys判定为成功 exit 0
如果需要记录失败信息方便后续排查,可以添加简单的判断逻辑:
/path/to/your/task_command # 捕获命令执行的退出状态 task_exit=$? # 若命令失败,打印日志(可选操作) if [ $task_exit -ne 0 ]; then echo "[$(date)] 命令执行失败,退出码:$task_exit" >> /var/log/autosys_job.log fi # 强制返回0 exit 0
方案2:通过Autosys作业配置(JIL)映射退出码
无需修改脚本,直接在作业的JIL(Job Information Language)定义里添加exit_code参数,将所有可能的退出码都映射为成功状态。示例JIL代码:
insert_job: your_target_job job_type: c command: /path/to/your/script.sh machine: your_machine # 将0-255所有退出码统一映射为SUCCESS状态 exit_code: 0,1-255=SUCCESS
配置完成后,不管脚本返回任何退出码,Autosys都会将该作业标记为成功。
内容的提问来源于stack exchange,提问作者Rohit kodakalla
相关产品推荐
相关产品推荐

