高手问题:shell脚本如何多线程可监控下载文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
yubinalice
帖子: 113
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04
送出感谢: 1 次
接收感谢: 0

高手问题:shell脚本如何多线程可监控下载文件

#1

帖子 yubinalice » 2018-01-30 16:09

使用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个文件同时下载,但是只有一个文件能够查看下载状态的情况。

高手看看!
头像
lilydjwg
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: 高手问题:shell脚本如何多线程可监控下载文件

#2

帖子 lilydjwg » 2018-01-31 14:11

parallel 管理下载进程,progress 查看进度。
yubinalice
帖子: 113
注册时间: 2015-12-23 16:20
系统: ubuntu 16.04
送出感谢: 1 次
接收感谢: 0

Re: 高手问题:shell脚本如何多线程可监控下载文件

#3

帖子 yubinalice » 2018-01-31 22:52

lilydjwg 写了:parallel 管理下载进程,progress 查看进度。
说的详细些毫不,
parallel说的是GNU Parallel?
用这个是做不出来的,我试过的。
您能写出脚本来吗?
谢谢!
头像
lilydjwg
论坛版主
帖子: 4163
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: 高手问题:shell脚本如何多线程可监控下载文件

#4

帖子 lilydjwg » 2018-01-31 23:21

yubinalice 写了:
lilydjwg 写了:parallel 管理下载进程,progress 查看进度。
说的详细些毫不,
parallel说的是GNU Parallel?
用这个是做不出来的,我试过的。
您能写出脚本来吗?
谢谢!
不好。又不赚钱又不涨知识的,连 rep 都不涨,反而花了时间,就等于花钱了。
是。
说明你的方法不对。
能。但是我没动力去写。
回复

回到 “Shell脚本”