失败的shell脚本

时间:2017-08-10 10:41:39

标签: shell

Shell脚本应检查文件是否在30分钟内到达。如果它在30分钟内没有到达,则脚本应该失败。

interval=2
((end_time=${SECONDS}+30))

directory=/app/mus/storepick/dataflowextract/shell
file=backup.cfg

while ((${SECONDS} < ${end_time}))
do
    if [[ -r ${directory}/${file} ]]
    then
        echo "File has arrived."
        exit 0
    fi
    sleep ${interval}
done

echo "File not arrivied !!!"

exit 42

1 个答案:

答案 0 :(得分:0)

你没有提到什么不能正常工作。但是,我猜测脚本会过早退出,声称该文件尚未到达。

您计算的end_time为${SECONDS} + 30 - 未来只有30 ,而不是30 分钟。未来30分钟,您需要${SECONDS} + 1800