Cron作业级联arrays

如果有人像我一样,在IBM大型机批处理作业中工作一次,那么您可能就会知道CONTROL-M,这是一种工具,不仅可以按照date和时间安排工作,还可以根据成功条件进行工作。其他工作失败

所以我想知道是否在Linux机器上,如果这可能与cron服务器。 我知道如果一个cron作业必须在特定的date和时间运行,现在我想运行在其他cron作业链中。 这样说,当一个完成触发另一个启动等等。

有没有办法做到这一点?

最好的,德米安

如果另一个命令失败,运行一个命令的标准方法是检查第一个命令的退出状态,除了成功以外,如果是这样,则运行。

这里有一个最近看到的黑客例子:

### Start SSH if it stops. */8 * * * * /usr/lib/nagios/plugins/check_ssh -p 22 10.0.0.34 > /dev/null || /etc/init.d/sshd restart 

如果初始命令失败,以上将只运行“/etc/init.d/sshd restart”命令。 这正是你要找的。 我想这只是在大型机上,因为它复制了几乎每个shell中存在的简单条件语句。

如果你有一大堆“工作”,只有在第一个失败的时候才能运行…那么把所有这些工作放在一个shell脚本中,并且在cron中使用最初的命令:

 # Run my cool script if "somecommand" fails. */8 * * * * /usr/bin/somecommand || /home/foo/bin/mycoolscript.sh 

对于bash &&和|| 内置的将会做。

或者你可以安装一个调度服务器:“作业调度程序”是一个很好的Sourceforge GPL项目