下载后wget cant文件文件 - IPV6 ONLY debian服务器

时间:2016-12-17 14:06:55

标签: bash debian wget

我在bash脚本中发出wget命令,虽然它说一切顺利,我找不到文件!

我有一个像这样的目录结构:

/home/foo/.x/.y

/home/foo/.x中,我有bash脚本xy.sh,内容为:

#!/bin/bash

cd /home/foo/.x/.y
echo "Start job at: $(date)" >> /home/foo/.log.log
URL1="http://xyz1.com/11.csv.zip"
URL2="http://xyz2.com/111.csv.zip"
URL3="http://xyz3.com/1111.csv.zip"
URL4="http://xyz4.com/11111.csv.zip"
URL5="http://xyz5.com/111111.csv.zip"
URL6="http://xyz6.com/1111111.csv.zip"
URL7="http://xyz7.com/11111111.zip"
wget -q "${URL1}"
echo " job 1 done: $(date)" >> /home/foo/.log.log
wget -q "${URL2}"
echo "job 2 done at: $(date)" >> /home/foo/.log.log
wget -q "${URL3}"
echo " job 3 done at: $(date)" >> /home/foo/.log.log
wget -q "${URL4}"
echo " job 4 done at: $(date)" >> /home/foo/.log.log
wget -q "${URL5}"
echo " job 5 done at: $(date)" >> /home/foo/.log.log
wget -q  "${URL6}"
echo " job 6 done at: $(date)" >> /home/foo/.log.log
wget -q "${URL7}"
echo "End job at: $(date)" >> /home/foo/.log.log
exit 0

日志表明文件已下载但我找不到/home/foo/.x/.y

中的文件

PS:当我用wget正常下载文件时(没有bash脚本),文件下载很好..

仅供参考:服务器是仅限IPV6的服务器..

2 个答案:

答案 0 :(得分:1)

在您的脚本中,您只有一系列没有逻辑依赖关系的命令。例如,在检索URL1之后,即使wget失败,也会显示该消息。 尝试替换这个:

wget -q "${URL1}"
echo " job 1 done: $(date)" >> /home/foo/.log.log

用这个:

wget -q "${URL1}" \
    && echo " job 1 done: $(date)" >> /home/foo/.log.log \
    || echo " job 1 Failed $(date)" >> /home/foo/.log.log \
"&&"和" ||"用于有条件地执行" echo"命令。如果wget成功,那么"完成"否则"失败"。 因为你使用" -q" wget的选项你不会看到它失败的原因,所以在你弄清楚失败之前我建议删除' -q'所以你可以看到输出,如下所示:

wget "${URL1}" >> /home/foo/.log.log 2>&1 \
    && echo " job 1 done: $(date)" >> /home/foo/.log.log \
    || echo " job 1 Failed $(date)" >> /home/foo/.log.log \

所有信息都将存储在日志中。

答案 1 :(得分:0)

/home/foo/.x/.y存在吗?

如果从wget中删除-q选项会发生什么?

为了排除故障,我建议添加"设置-ueo"在#!/ bin / bash shebang下方 - 这将使您更清楚地了解问题所在。