我的文件列表总共有1300万个文件,大约140GB。 注意:需要维护目录结构。每个文件大约100KB-2MB。
我使用wget -x -i file_list.txt
这是工作,但太慢了。
注意:所有文件列表中都是url。
我的服务器有100M带宽,应该获得10M / s的速度。
但wget -x -i file_list.txt
只给我1M / s。
如何解决?
答案 0 :(得分:1)
您可以使用并行命令:
parallel -a websites.txt --jobs 20 'wget -x'
用-a读取文件中的每一行, - jobs说明要并行运行多少行,wget将以文件的下一行为后缀。
答案 1 :(得分:1)
您可以使用以下标志同时多次启动wget:
wget -x -N -i file_list.txt &
wget -x -N -i file_list.txt &
wget -x -N -i file_list.txt ...
N Flag代表:
-N, --timestamping don't re-retrieve files unless newer than
如果您仍遇到问题,可以尝试使用-r / -np:multiple wget -r a site simultaneously?
答案 2 :(得分:0)
您可以通过创建多个wget实例来提高性能。您可以使用for循环执行此操作,但如果远程服务器以1Mbps的速度运行,那么您将以此速度停留。
结帐Parallel wget in Bash,了解有关创建多次下载的详情。