从服务器下载大文件的最好方法是? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
htfy96
V2EX    Linux

从服务器下载大文件的最好方法是?

  •  
  •   htfy96
    htfy96 2015-09-23 20:08:21 +08:00 30557 次点击
    这是一个创建于 3673 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前在 aliyun 租了个 vps 做爬虫,现在爬虫完成后大概获得了 15G 的数据(已压缩)

    这边网络最多 1MBps ,估计要下载很长时间,网上有人提到了 scp ,但是好像不能断点续传。现在服务器上什么也没有(ftp/http 服务器)。请问有什么比较好的方法把数据拖下来呢?
    第 1 条附言    2015-09-25 10:09:40 +08:00
    现在大致方法是
    临时提升服务器带宽,开个 http 服务器,百度云离线
    84 条回复    2015-09-26 09:44:59 +08:00
    pythoner
        1
    pythoner  
       2015-09-23 20:11:32 +08:00
    rsync --partial
    FinlayLiu
        2
    FinlayLiu  
       2015-09-23 20:12:10 +08:00
    迅雷。。。
    pixstone
        3
    pixstone  
       2015-09-23 20:14:51 +08:00 via iPhone
    迅雷+1
    kslr
        4
    kslr  
       2015-09-23 20:15:29 +08:00 via Android
    Yun or apt install nginx
    kslr
        5
    kslr  
       2015-09-23 20:15:50 +08:00 via Android
    yum
    ryd994
        6
    ryd994  
       2015-09-23 20:17:43 +08:00 via Android
    bypy 上传,百度的数据还不是都交给国家,没什么不放心的
    另外用 filezilla 可以 sftp ,但是触发流量识别从此 vps 被消失的可能性很大
    constance
        7
    constance  
       2015-09-23 20:18:37 +08:00
    bypy 上传到百度云
    loading
        8
    loading  
       2015-09-23 20:18:41 +08:00 via Android
    装个 bypy ,上传到百度云,然后再下载。
    kkfnui
        9
    kkfnui  
       2015-09-23 20:28:13 +08:00
    迅雷
    kkfnui
        10
    kkfnui  
       2015-09-23 20:30:33 +08:00
    @kkfnui 跟风了,连 ftp 和 http 都没有那就没有肯定不能用迅雷了。
    jasontse
        11
    jasontse  
       2015-09-23 20:31:44 +08:00 via iPad
    lrzsz

    ....其实还是 scp
    Tink
        12
    Tink  
    PRO
       2015-09-23 20:39:22 +08:00 via iPhone
    起 web 服务, aria2 下
    htfy96
        13
    htfy96  
    OP
       2015-09-23 20:44:44 +08:00
    @loading
    @constance 然而学校很奇怪的是百度云大概只有 200K 左右速度
    constance
        14
    constance  
       2015-09-23 20:47:23 +08:00
    @htfy96 可以冲个会员试一下
    phithon
        15
    phithon  
       2015-09-23 20:48:45 +08:00   3
    一键开启 http :
    python -m SimpleHTTPServer
    php -S localhost:8080

    一键开启 ftp:
    python -m pyftpdlib #需要安装 pyftpdlib

    另外, rsync 比 scp 快得多,适合传输大量文件,而且支持增量传输。
    三种方法楼主选择。。。
    htfy96
        16
    htfy96  
    OP
       2015-09-23 20:51:06 +08:00
    @phithon 多谢,我用 ruby 也能很方便地建服务器,之前忘了这一点了。已经压缩后的单个文件其实各种方法都速度差不了多少。
    regeditms
        17
    regeditms  
       2015-09-23 20:51:44 +08:00
    弄个 nginx 然后 ip + 地址 访问下载了。好像是多个线程下载的。
    htfy96
        18
    htfy96  
    OP
       2015-09-23 20:52:23 +08:00
    pmpio
        19
    pmpio  
       2015-09-23 21:04:32 +08:00
    大文件还是用 7z 分一下卷吧,一个文件 512M ,不管用啥方法下载,保险系数都大得多。。。。
    JustZht
        20
    JustZht  
       2015-09-23 21:17:49 +08:00
    bypy 配合 bcloud 客户端
    002jnm
        21
    002jnm  
       2015-09-23 21:21:29 +08:00 via iPhone
    我试过迅雷可以超过 1M 宽带。不知道为什么
    002jnm
    22
    002jnm  
       2015-09-23 21:22:00 +08:00 via iPhone
    。。我以为你阿里云 1m 宽带。。。当我没说。
    letitbesqzr
        23
    letitbesqzr  
       2015-09-23 21:39:35 +08:00
    @ryd994
    @loading
    @JustZht
    bypy 这东西必须需要申请 PCS API ,请问现在在哪里申请?百度那东西老改版 根本找不到地方了
    JustZht
        24
    JustZht  
       2015-09-23 21:45:24 +08:00
    @letitbesqzr 初次使用 bypy 程序会提示的吧...会给个链接 然后浏览器进去就能拿到 token 我记得一个月前还试了一次
    miemiekurisu
        25
    miemiekurisu  
       2015-09-23 22:07:28 +08:00 via Android   1
    ………………架个 Nginx ,直接 aria2c -c -x15 -s 15 拖下来
    likuku
        26
    likuku  
       2015-09-23 22:09:48 +08:00
    压缩了就不好用 rsync 了... rsync 适合大量小文件...
    likuku
        27
    likuku  
       2015-09-23 22:11:27 +08:00
    vps 不差空间的话,那就分成很多小卷,再用 rsync 拖。

    btsync 也可以试试。。假若可能通讯的话。
    anjouslava
        28
    anjouslava  
       2015-09-23 22:15:22 +08:00
    可以用 SFTP ,支持断点续传,用 WinSCP , SSH 登录就行,默认应该是 100kb 以上文件启用断点续传,不过建议还是设置为所有文件
    a1058021348
        29
    a1058021348  
       2015-09-23 22:23:02 +8:00 via iPad
    我都是用 Nginx+IDM 开 32 个线程下载的。。。。就算是美国 VPS 也能跑满百兆带宽。。。
    Aliencn
        30
    Aliencn  
       2015-09-23 22:46:50 +08:00   3
    往阿里云上传数据不限速,但是从阿里云下载速度就会限速了(阿里云服务器的带宽限制)
    最快的方法是通过内网传到阿里云 oss 上(内网不限速),然后你在从 oss 上下载(受你带宽限制)
    ryd994
        31
    ryd994  
       2015-09-23 23:12:24 +08:00 via Android
    @letitbesqzr bypy 自带一个,可以用的
    maskerTUI
        32
    maskerTUI  
       2015-09-24 00:21:19 +08:00 via Android
    xftp
    iamnuomi
        33
    iamnuomi  
       2015-09-24 00:35:25 +08:00   3
    都闪开,用 UDP 才是王道

    tsunami-udp

    tsunami-udp 是一款专为网络加速诞生的小工具。 思路很简单,使用 TCP 进行传输控制、用 UDP 进行数据传输。

    这样可以无状态的进行数据传输,然后中间加一些文件校验和重传机制,达到加速传输的目的。

    传统的 tcp 传统,基于长连接,很容易受网络波动的影响。特别是网络拥塞的情况下,只能通过多进程 /线程来进行有序传输。

    https://github.com/cheetahmobile/tsunami-udp/wiki



    udt

    UDT is a reliable UDP based application level data transport protocol for distributed data intensive applications over wide area high-speed networks. UDT uses UDP to transfer bulk data with its own reliability control and congestion control mechanisms. The new protocol can transfer data at a much higher speed than TCP does. UDT is also a highly configurable framework that can accommodate various congestion control algorithms. (Presentation: PPT 450KB / Poster: PDF 435KB )

    http://udt.sourceforge.net/
    akira
        34
    akira  
       2015-09-24 00:40:20 +08:00   2
    晚上快 12 点的时候提升临时带宽到 100M ,瞬间下完
    webjin
        35
    webjin  
       2015-09-24 01:13:47 +08:00 via Android
    叫阿里云的人打包刻录光盘或者 U 盘,然后快递
    oott123
        36
    oott123  
       2015-09-24 01:28:09 +08:00 via Android
    https://github.com/oott123/bpcs_uploader
    对大文件比 bypy 要稍好…(因为直接调用 curl 命令行
    还内置一个 key …
    davidyin
        37
    davidyin  
       2015-09-24 01:36:09 +08:00
    去网吧下载比较快
    BRKA
        38
    BRKA  
       2015-09-24 01:37:50 +08:00
    所以我就不能理解 1m 的带宽这主机怎么用啊...
    同等价格的 bandwagon 服务比阿里云好多了啊。
    49
        39
    49  
       2015-09-24 06:15:23 +08:00 via Android
    @iamnuomi 终于有人说 UDT 了喵('·ω·')
    ryd994
        40
    ryd994  
       2015-09-24 07:15:17 +08:00 via Android
    @oott123 bypy 可以直接用啊,为啥大家都觉得它要 key ?
    shoaly
        41
    shoaly  
       2015-09-24 08:11:13 +08:00
    曾经下过 10 多个 G 的数据库, 由于服务器在国外非常的悲催 各种断, winscp 不靠谱, 因为文件大了之后, 断线之后他会找不到北,
    最后的解决办法是搭建一个 http 服务器, 然后 挂迅雷
    leyle
        42
    leyle  
       2015-09-24 08:45:18 +08:00 via Android
    搭个 http 服务器,然后用 aria2c axel 这些支持多线程,支持断点续传的工具下载,我从 linode 下载大文件,都可以跑满我本地带宽。
    Huntsman
        43
    Huntsman  
       2015-09-24 09:01:35 +08:00
    @leyle 嗯 这个靠谱! aria2 才是神器!
    oott123
        44
    oott123  
       2015-09-24 09:25:20 +08:00 via Android
    @ryd994 bpcs_uploader 也可以直接用啊,还不用一个月更新一次
    popok
        45
    popok  
       2015-09-24 09:29:59 +08:00
    开 http ,随便一款可断点续传的下载工具拖吧,私有数据,反正迅雷也加不了多少速度。
    bozong
        46
    bozong  
       2015-09-24 09:33:52 +08:00
    @ryd994 有没有比较给力的 bypy
    ryd994
        47
    ryd994  
       2015-09-24 09:54:30 +08:00 via Android
    @bozong pip install bypy ,一直都是直接用的
    bozong
        48
    bozong  
       2015-09-24 09:55:27 +08:00
    @ryd994 恩恩
    bozong
        49
    bozong  
       2015-09-24 10:04:19 +08:00
    @ryd994 速度的话 还行吧 我 10M 企业带宽、上传一个 110M 的文件 花了 50s
    PandaSaury
        50
    PandaSaury  
       2015-09-24 10:06:28 +08:00
    rsync 或者 scp
    bozong
        51
    bozong  
       2015-09-24 10:07:50 +08:00
    @ryd994 这个会不会有影响
    martifact
        52
    martifact  
       2015-09-24 10:40:01 +08:00
    搭个 http/ftp server, wget -c
    liyvhg
        53
    liyvhg  
       2015-09-24 11:05:24 +08:00
    @a1058021348 我怎么想到了[丧心病狂]这个词... 32 个线程, 郭佳也不管管么
    R09PR0xF
        54
    R09PR0xF  
       2015-09-24 11:10:48 +08:00
    wget -c
    hicdn
        55
    hicdn  
       2015-09-24 11:57:18 +08:00
    @bozong syncy 支持多线程
    qq446015875
        56
    qq446015875  
       2015-09-24 12:23:34 +08:00
    @htfy96 和学校似乎没关系,百度云开始限速了
    odirus
        57
    odirus  
       2015-09-24 12:26:44 +08:00
    就像楼上说的,搭建简单 HTTP ,用百度云去下载,然后你再从百度云下载回来,既可以断点续传,也永久保留了,何乐而不为。
    HarveyTvT
        58
    HarveyTvT  
       2015-09-24 12:29:07 +08:00
    axel -n 100 "url"!!!100 个妥妥的
    bozong
        59
    bozong  
       2015-09-24 12:47:00 +08:00
    @hicdn 恩恩 我试试
    bozong
        60
    bozong  
       2015-09-24 12:48:04 +08:00
    @odirus 什么叫用百度云去下载
    zhuangzhuang1988
        61
    zhuangzhuang1988  
       2015-09-24 13:04:48 +08:00
    配置个 Nginx 然后用迅雷下载.
    realpg
        62
    realpg  
    PRO
       2015-09-24 13:29:16 +08:00
    apt-get install nginx
    cp xxx.tar.gz /var/www/html
    odirus
        63
    odirus  
       2015-09-24 13:33:10 +08:00
    @bozong 百度云盘离线下载 http://pan.baidu.com/
    odirus
        64
    odirus  
       2015-09-24 13:36:15 +08:00
    @letitbesqzr 为什么你们不直接开个 http 端口给百度云下载呢?怕被别人下载了?
    NovemberEleven
        65
    NovemberEleven  
       2015-09-24 13:43:26 +08:00
    我比较好奇爬什么数据,啊哈哈。
    bozong
        66
    bozong  
       2015-09-24 14:22:07 +08:00
    @hicdn windows 下面
    ultimate010
        67
    ultimate010  
       2015-09-24 14:51:03 +08:00 via iPhone
    限制出口带宽,什么工具都没用。
    dididada
        68
    dididada  
       2015-09-24 15:04:14 +08:00
    开迅雷 VIP ,秒下,速度很快, VIP 也不贵, TB 也可以买到,只要几块而已。
    wizardoz
        69
    wizardoz  
       2015-09-24 16:06:22 +08:00
    压缩成多个文件不靠谱,中间一个文件错误了全部都解不开。还是搭建一个web服务,然后再爬回来本地。顺便把地址告诉大家分享一下。
    paw
        70
    paw  
       2015-09-24 17:18:53 +08:00
    aria2 +1
    y1993bbz
        71
    y1993bbz  
       2015-09-24 19:09:56 +08:00
    上传到 oss 在下载吧
    Andy1999
        72
    Andy1999  
       2015-09-24 19:18:27 +08:00 via iPhone
    @a1058021348 然后变 SYN Flood 了
    nocheater
        73
    nocheater  
       2015-09-24 19:34:40 +08:00
    1m 是阿里云的外网速度吧?
    如果是这样,你临时开一个阿里云的按流量计费的 100m 带宽的 vps ,从内网把数据先传过去(这个应该是千兆的),然后用任何下载工具都可以在半小时内搞定
    htfy96
        74
    htfy96  
    OP
       2015-09-24 19:57:37 +08:00
    @JasonQ 因为要爬京东的书籍,所以国外的 vps 延时太大只能用国内的
    a1058021348
        75
    a1058021348  
       2015-09-24 23:45:08 +08:00 via iPad
    @Andy1999 反正没人看我博客,占满带宽也没啥。。。
    Andy1999
        76
    Andy1999  
       2015-09-25 00:01:52 +08:00 via iPhone
    @a1058021348 我是指多线程下载可能会造成 SYN Flood 攻击
    murusu
        77
    murusu  
       2015-09-25 00:44:44 +08:00
    安装 nginx ,临时开个 http 服务就得了
    数据想保密的话压缩时加密一下
    不要作死直接用 ssh 传大文件,高几率会被封端口
    guotie
        78
    guotie  
       2015-09-25 09:57:30 +08:00
    rsync.
    congeec
        79
    congeec  
       2015-09-25 11:10:12 +08:00
    不要用 python http.server, 用这俩
    https://github.com/sebsto/tsunami-udp
    https://github.com/GangZhuo/BaiduPCS
    nginx , ftpd 啥的也行总之要有断点续传,不要加密(墙干扰),数据不需要那么精确的话用 UDP
    Izual
        80
    Izual  
       2015-09-25 13:26:11 +08:00
    迅雷离线,从美国那边拉回将近 100G 的网站备份……
    然后我才想起来忘了分卷压缩……
    hicdn
        81
    hicdn  
       2015-09-25 14:40:50 +08:00
    @bozong windows 下直接用官方客户端啊,这东西就不是给 windows 用的
    smileawei
        82
    smileawei  
       2015-09-25 18:09:46 +08:00
    同机房开个按流量收费的 VPS 然后用内网 IP 拖过去 再下载下来。 15G*0.8 也没多少钱
    mxq0923
        83
    mxq0923  
       2015-09-25 22:26:14 +08:00
    传 OSS 后直接下载.
    ryd994
        84
    ryd994  
       2015-09-26 09:44:59 +08:00
    @bozong 我不用 bpcs_uploaders 的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     923 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 20:50 PVG 04:50 LAX 13:50 JFK 16:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86