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
答案 0 :(得分:0)
你没有提到什么不能正常工作。但是,我猜测脚本会过早退出,声称该文件尚未到达。
您计算的end_time为${SECONDS} + 30
- 未来只有30 秒,而不是30 分钟。未来30分钟,您需要${SECONDS} + 1800
。