Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Unix中计划作业_Unix_Crontab - Fatal编程技术网

在Unix中计划作业

在Unix中计划作业,unix,crontab,Unix,Crontab,我对Unix环境相当陌生 我正在尝试在Unix服务器中安排两个任务。第二个任务取决于第一个任务的结果。因此,我想运行第一个任务。如果没有错误,那么我希望第二个任务自动运行。但是如果第一个任务失败,我想在30分钟后重新安排第一个任务 我不知道从哪里开始。这不需要cron。您只需要一个简单的shell脚本: #/垃圾箱/垃圾箱 while:;循环直到达到break语句 如果任务1;然后#如果task1成功 task2#然后运行task2 休息一下,我们就完了。 else#否则任务1失败 睡1800,

我对Unix环境相当陌生

我正在尝试在Unix服务器中安排两个任务。第二个任务取决于第一个任务的结果。因此,我想运行第一个任务。如果没有错误,那么我希望第二个任务自动运行。但是如果第一个任务失败,我想在30分钟后重新安排第一个任务


我不知道从哪里开始。

这不需要cron。您只需要一个简单的shell脚本:

#/垃圾箱/垃圾箱
while:;循环直到达到break语句
如果任务1;然后#如果task1成功
task2#然后运行task2
休息一下,我们就完了。
else#否则任务1失败
睡1800,我们等30分钟
fi#重复
完成
请注意,
task1
必须以退出状态0表示成功,以非零表示失败

Wumpus敏锐地观察到,这可以简化为

#/垃圾箱/垃圾箱
直到任务1;做
睡1800
完成
任务2

可以嵌套得更少:
直到task1;睡一觉;完成;任务2
@Jens谢谢。对不起,我的问题不清楚。任务2需要安排在特定时间运行,但需要确保任务1在运行任务2之前成功运行。@WumpusQ.Wumbley观察良好!您的版本更简单,应该是首选。@IshworBhatta然后task1需要记录它是否成功运行。这种逻辑是扭曲的。我会考虑是否可以改变这个问题,这样就可以像我们所展示的那样用串行解决方案来解决它。或者task1可以集成到task2中吗?@Jens。谢谢你的帮助。我认为我可以重新调整这个问题,并将这两项任务整合起来,使其工作。