最佳答案
我在 shell 脚本中有以下代码,如果没有找到任何文件,它将继续休眠。它会睡半个小时,但是目前我没有任何计数器,比如只执行下面的代码20次,然后如果文件仍然不存在就退出程序(意味着在20次检查之后不要做任何事情并退出完整的脚本)。
解决这个问题的最好方法是什么?因此,我也意识到,通过看电子邮件,它已经尝试了20次。
希望我说得够清楚了。
while true; do
if /home/hadoop/latest/bin/hadoop fs -ls /apps/hdtech/bds/quality-rt/dt=$DATE_YEST_FORMAT2 then
echo "Files Present" | mailx -s "File Present" -r admin@host.com admin@host.com
break
else
echo "Sleeping for half an hour" | mailx -s "Time to Sleep Now" -r admin@host.com admin@host.com
sleep 1800
fi
done