我对Unix环境很陌生。
我正在尝试在Unix服务器中安排两个任务。第二项任务取决于第一项任务的结果。所以,我想运行第一个任务。如果没有错误,那么我希望第二个任务自动运行。但如果第一项任务失败,我想在30分钟后重新安排第一项任务。
我不知道从哪里开始。
答案 0 :(得分:0)
你不需要cron。您只需要一个简单的shell脚本:
#!/bin/sh
while :; do # Loop until the break statement is hit
if task1; then # If task1 is successful
task2 # then run task2
break # and we're done.
else # otherwise task1 failed
sleep 1800 # and we wait 30min
fi # repeat
done
请注意task1
必须指明成功,退出状态为0,失败则为非零。
正如Wumpus所说,这可以简化为
#!/bin/sh
until task1; do
sleep 1800
done
task2