下载大文件时难免会中断,wget支持断点续传,指定wget -c参数,退出后重新运行就能接着下载。但是如何让它退出后自动继续干活呢?免得自己老得去检查、然后重新运行。
首先,可以调整这两个参数:
- -t 重试次数。将其设为0,则一直重试。
- -T 超时时间,超过将退出。对于慢的网站需要设的高一些。
不过,这换是无法解决wget本身退出的问题。
可以搞一个watchdog,退出后自动将进程拉起。脚本如下:
#!/bin/bash
while true; do
ret=`wget -c -t 0 download.x.x -o `
if [ $ret -eq 0 ]; then
exit 0
fi
sleep 10
done
这里,如果全部下载完后,需要检测一下然后就把看门狗一起退出,免得一直检查,消耗服务器资源。
关机重启后,也可以接着来的。
- 将其设为服务,或者是启动后自动运行。
- 参考:使用shell编写的极简Ubuntu Service
更多参考: