我试图弄清楚如何确定异常终止(异常终止)的特定作业的相应重新启动时间(作业最终完成之前的最后一次重新启动)。
例如:
- 作业 ABC 在 5:00 运行
- Job ABC 在 5:03 异常终止
- 5点05分重启
- Job ABC 在 5:08 再次异常终止
- 5点10分再次重启
- 作业 ABC 于 5:15 完成
在这个例子中,我可以安全地假设在 5:00 首次运行的 Job ABC 的完成时间是 5:15。我试图通过从它第一次异常停止(5:10 – 5:03 = 7 分钟停机时间)减去它上次重新启动的时间来计算 Job ABC 的停机时间。
这是我为获得第一次失败和最后一次重启时间所做的:
grep abended logfile | head -1 #first failure
grep restarted logfile | tail -1 #last restart
但问题是,如果另一个 Job ABC 在 6:00 运行怎么办?
比方说,
- 另一个 Job ABC 在 6:00 运行。
- 它在 6:03 异常终止。
- 6点05分重启
- 作业 ABC 于 6:07 完成。
如果是这种情况,我就不能再使用上面所说的头部和尾部了。
如何判断 6:05 的重新启动是否对应于 6:03 首次异常的另一个 Job ABC?
顺便说一句,我正在尝试创建一个自动化工具,它将获得工作的停机时间,我唯一的参考是一个纯文本日志文件,它每 24 小时自动创建一次。
注意:我正在使用 Bash 脚本。