专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell脚本欣赏>

wget下载管理脚本

百度收藏 QQ搜藏

作者:home_king

用法:
wgetscript list #list是下载列表

功能(特色):
1.利用了wget的断点续传功能
由于下载过程中,可能由于某种原因而中断下载过程,例如碰到一个死链接,下载了部分就停止了响应,这时候按Ctrl+C退出,wget会自动生成文件而忽略文件的完整性。
2.消除中断后续载的重复冗余项
比如说*.wget中出现了一个死链接而没有下载该源码包,修正*.wget的内容后,再运行脚本,将只下载上次没有成功下载的源码包,而无须重新下载所有源码包,如果下载内容很多的话,该脚本的方便性就体现出来了;再比如说,如果要多下载一个补丁,把该url添加到*.wget后,再运行脚本,则只下载新添加的补丁;如果没有所有源码包都已下载,该脚本无动作。
3.在下载完毕后,会列出那些出现死链接的源码包以便修正

代码:
# Wget Script with history-logged feature.
# Written by home_king

wget_list=$1
                                                                               
if [ -n "$wget_list" ] && [ -e "$wget_list" ];then
        rm -f Error.log
        for i in `grep -E '^*tp://' "$wget_list"`; do
                if [ -n $i ] && [ ! -e ${i##*/} ] || [ -e "${i##*/}.part" ]; then
                        wget -c $i -O "${i##*/}.part" && \
                        mv "${i##*/}.part" ${i##*/}
                        [ $? -gt 0 ] && echo "${i##*/}" >> Error.log
                fi
        done
        [ -e Error.log ] && \
        echo "Unable to download below packages with wrong urls:" && \
        cat Error.log && \
        echo "Also see Error.log in detail."
fi

上一篇:在X-window下用来确认关机的脚本 下一篇:让你用ping时显示结果象cisco中一样,并在丢包时报警

power by soyo123 2007-2008