如果wget失败,请发送电子邮件

时间:2016-04-26 17:01:51

标签: bash cron sh wget

我正在编写一个脚本,该脚本从网址获取一些重要数据(通过cronjob),如果失败则会发送一封电子邮件,但是,它似乎无法识别它是否失败(checking wget's return value [if]) :

wget_output=$(wget --tries=1 --timeout=300 -r -N -nd -np --reject=html https://myurl/ -P ../data)
if [ $? -ne 0 ]
then 
    echo "send email here" >> ./test.txt
else
    echo "send email here" >> ./test2.txt
fi

它只试了一次(如说的那样)然后放弃,但不承认它已成功与否。我假设我没有正确处理退出代码或其他东西。任何的想法?感谢

1 个答案:

答案 0 :(得分:2)

您使用的wget版本是什么?版本1.15的手册页的退出状态部分说:

  

在1.12之前的Wget版本中,Wget的退出状态往往无益且不一致。无论遇到任何问题,递归下载几乎总是返回0(成功),非递归提取仅返回与最近尝试下载相对应的状态。