高手问题:shell脚本如何多线程可监控下载文件
发表于 : 2018-01-30 16:08
使用shell写批量下载脚本,
目前是单线程下载,脚本实例如下:
---------------------------------------
#!/bin/bash
for r in {1..300}
do
for i in {1..10}
do
echo $r file
echo $i time
you-get `sed -n ${r}p urls`
if [ $? == 0 ]
then
find -size +300M -exec mv {} /dest \; &
break
fi
done
done
-----------------------------------------
上面这个脚本只能单线程下载视频,因此速度必定有限,而且当视频进行合并的时候,还会空闲,浪费带宽。
因此希望可以写出3线程的下载脚本。
理想的模式是类似aria2的rpc那种模式,进程一直开着,多线程下载,然后前端监控,这样就知道具体每个文件的情况。
最好能够给you-get指定高速缓存设备,这样就能够加快合并的速度了。
希望写出的多线程下来脚本能够监控每个文件的下载进度。不要弄出那种3个文件同时下载,但是只有一个文件能够查看下载状态的情况。
高手看看!
目前是单线程下载,脚本实例如下:
---------------------------------------
#!/bin/bash
for r in {1..300}
do
for i in {1..10}
do
echo $r file
echo $i time
you-get `sed -n ${r}p urls`
if [ $? == 0 ]
then
find -size +300M -exec mv {} /dest \; &
break
fi
done
done
-----------------------------------------
上面这个脚本只能单线程下载视频,因此速度必定有限,而且当视频进行合并的时候,还会空闲,浪费带宽。
因此希望可以写出3线程的下载脚本。
理想的模式是类似aria2的rpc那种模式,进程一直开着,多线程下载,然后前端监控,这样就知道具体每个文件的情况。
最好能够给you-get指定高速缓存设备,这样就能够加快合并的速度了。
希望写出的多线程下来脚本能够监控每个文件的下载进度。不要弄出那种3个文件同时下载,但是只有一个文件能够查看下载状态的情况。
高手看看!