Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
htfy96
V2EX  ›  Linux

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

  •  
  •   htfy96 ·
    htfy96 · Sep 23, 2015 · 31853 views
    This topic created in 4064 days ago, the information mentioned may be changed or developed.
    之前在 aliyun 租了个 vps 做爬虫,现在爬虫完成后大概获得了 15G 的数据(已压缩)

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

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

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

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

    btsync 也可以试试。。假若可能通讯的话。
    anjouslava
    anjouslava
    Sep 23, 2015
    28
    可以用 SFTP ,支持断点续传,用 WinSCP , SSH 登录就行,默认应该是 100kb 以上文件启用断点续传,不过建议还是设置为所有文件
    a1058021348
    a1058021348
    Sep 23, 2015 via iPad
    29
    我都是用 Nginx+IDM 开 32 个线程下载的。。。。就算是美国 VPS 也能跑满百兆带宽。。。
    Aliencn
    Aliencn
    Sep 23, 2015❤️3
    30
    往阿里云上传数据不限速,但是从阿里云下载速度就会限速了(阿里云服务器的带宽限制)
    最快的方法是通过内网传到阿里云 oss 上(内网不限速),然后你在从 oss 上下载(受你带宽限制)
    ryd994
    ryd994
    Sep 23, 2015 via Android
    31
    @letitbesqzr bypy 自带一个,可以用的
    maskerTUI
    maskerTUI
    Sep 24, 2015 via Android
    32
    xftp
    iamnuomi
    iamnuomi
    Sep 24, 2015❤️3
    33
    都闪开,用 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
    akira
    Sep 24, 2015❤️2
    34
    晚上快 12 点的时候提升临时带宽到 100M ,瞬间下完
    webjin
    webjin
    Sep 24, 2015 via Android
    35
    叫阿里云的人打包刻录光盘或者 U 盘,然后快递
    oott123
    oott123
    Sep 24, 2015 via Android
    36
    https://github.com/oott123/bpcs_uploader
    对大文件比 bypy 要稍好…(因为直接调用 curl 命令行
    还内置一个 key …
    davidyin
    davidyin
    Sep 24, 2015
    37
    去网吧下载比较快
    BRKA
    BRKA
    Sep 24, 2015
    38
    所以我就不能理解 1m 的带宽这主机怎么用啊...
    同等价格的 bandwagon 服务比阿里云好多了啊。
    49
    49
    Sep 24, 2015 via Android
    39
    @iamnuomi 终于有人说 UDT 了喵('・ω・')
    ryd994
    ryd994
    Sep 24, 2015 via Android
    40
    @oott123 bypy 可以直接用啊,为啥大家都觉得它要 key ?
    shoaly
    shoaly
    Sep 24, 2015
    41
    曾经下过 10 多个 G 的数据库, 由于服务器在国外非常的悲催 各种断, winscp 不靠谱, 因为文件大了之后, 断线之后他会找不到北,
    最后的解决办法是搭建一个 http 服务器, 然后 挂迅雷
    leyle
    leyle
    Sep 24, 2015 via Android
    42
    搭个 http 服务器,然后用 aria2c axel 这些支持多线程,支持断点续传的工具下载,我从 linode 下载大文件,都可以跑满我本地带宽。
    Huntsman
    Huntsman
    Sep 24, 2015
    43
    @leyle 嗯 这个靠谱! aria2 才是神器!
    oott123
    oott123
    Sep 24, 2015 via Android
    44
    @ryd994 bpcs_uploader 也可以直接用啊,还不用一个月更新一次
    popok
    popok
    Sep 24, 2015
    45
    开 http ,随便一款可断点续传的下载工具拖吧,私有数据,反正迅雷也加不了多少速度。
    bozong
    bozong
    Sep 24, 2015
    46
    @ryd994 有没有比较给力的 bypy
    ryd994
    ryd994
    Sep 24, 2015 via Android
    47
    @bozong pip install bypy ,一直都是直接用的
    bozong
    bozong
    Sep 24, 2015
    48
    @ryd994 恩恩
    bozong
    bozong
    Sep 24, 2015
    49
    @ryd994 速度的话 还行吧 我 10M 企业带宽、上传一个 110M 的文件 花了 50s
    PandaSaury
    PandaSaury
    Sep 24, 2015
    50
    rsync 或者 scp
    bozong
    bozong
    Sep 24, 2015
    51
    @ryd994 这个会不会有影响
    martifact
    martifact
    Sep 24, 2015
    52
    搭个 http/ftp server, wget -c
    liyvhg
    liyvhg
    Sep 24, 2015
    53
    @a1058021348 我怎么想到了[丧心病狂]这个词... 32 个线程, 郭佳也不管管么
    R09PR0xF
    R09PR0xF
    Sep 24, 2015
    54
    wget -c
    hicdn
    hicdn
    Sep 24, 2015
    55
    @bozong syncy 支持多线程
    qq446015875
    qq446015875
    Sep 24, 2015
    56
    @htfy96 和学校似乎没关系,百度云开始限速了
    odirus
    odirus
    Sep 24, 2015
    57
    就像楼上说的,搭建简单 HTTP ,用百度云去下载,然后你再从百度云下载回来,既可以断点续传,也永久保留了,何乐而不为。
    HarveyTvT
    HarveyTvT
    Sep 24, 2015
    58
    axel -n 100 "url"!!!100 个妥妥的
    bozong
    bozong
    Sep 24, 2015
    59
    @hicdn 恩恩 我试试
    bozong
    bozong
    Sep 24, 2015
    60
    @odirus 什么叫用百度云去下载
    zhuangzhuang1988
    zhuangzhuang1988
    Sep 24, 2015
    61
    配置个 Nginx 然后用迅雷下载.
    realpg
    realpg
    Sep 24, 2015
    62
    apt-get install nginx
    cp xxx.tar.gz /var/www/html
    odirus
    odirus
    Sep 24, 2015
    63
    @bozong 百度云盘离线下载 http://pan.baidu.com/
    odirus
    odirus
    Sep 24, 2015
    64
    @letitbesqzr 为什么你们不直接开个 http 端口给百度云下载呢?怕被别人下载了?
    NovemberEleven
    NovemberEleven
    Sep 24, 2015
    65
    我比较好奇爬什么数据,啊哈哈。
    bozong
    bozong
    Sep 24, 2015
    66
    @hicdn windows 下面
    ultimate010
    ultimate010
    Sep 24, 2015 via iPhone
    67
    限制出口带宽,什么工具都没用。
    dididada
    dididada
    Sep 24, 2015
    68
    开迅雷 VIP ,秒下,速度很快, VIP 也不贵, TB 也可以买到,只要几块而已。
    wizardoz
    wizardoz
    Sep 24, 2015
    69
    压缩成多个文件不靠谱,中间一个文件错误了全部都解不开。还是搭建一个web服务,然后再爬回来本地。顺便把地址告诉大家分享一下。
    paw
    paw
    Sep 24, 2015
    70
    aria2 +1
    y1993bbz
    y1993bbz
    Sep 24, 2015
    71
    上传到 oss 在下载吧
    Andy1999
    Andy1999
    Sep 24, 2015 via iPhone
    72
    @a1058021348 然后变 SYN Flood 了
    nocheater
    nocheater
    Sep 24, 2015
    73
    1m 是阿里云的外网速度吧?
    如果是这样,你临时开一个阿里云的按流量计费的 100m 带宽的 vps ,从内网把数据先传过去(这个应该是千兆的),然后用任何下载工具都可以在半小时内搞定
    htfy96
    htfy96
    OP
    Sep 24, 2015
    74
    @JasonQ 因为要爬京东的书籍,所以国外的 vps 延时太大只能用国内的
    a1058021348
    a1058021348
    Sep 24, 2015 via iPad
    75
    @Andy1999 反正没人看我博客,占满带宽也没啥。。。😂
    Andy1999
    Andy1999
    Sep 25, 2015 via iPhone
    76
    @a1058021348 我是指多线程下载可能会造成 SYN Flood 攻击
    murusu
    murusu
    Sep 25, 2015
    77
    安装 nginx ,临时开个 http 服务就得了
    数据想保密的话压缩时加密一下
    不要作死直接用 ssh 传大文件,高几率会被封端口
    guotie
    guotie
    Sep 25, 2015
    78
    rsync.
    congeec
    congeec
    Sep 25, 2015
    79
    不要用 python http.server, 用这俩
    https://github.com/sebsto/tsunami-udp
    https://github.com/GangZhuo/BaiduPCS
    nginx , ftpd 啥的也行总之要有断点续传,不要加密(墙干扰),数据不需要那么精确的话用 UDP
    Izual
    Izual
    Sep 25, 2015
    80
    迅雷离线,从美国那边拉回将近 100G 的网站备份……
    然后我才想起来忘了分卷压缩……
    hicdn
    hicdn
    Sep 25, 2015
    81
    @bozong windows 下直接用官方客户端啊,这东西就不是给 windows 用的
    smileawei
    smileawei
    Sep 25, 2015
    82
    同机房开个按流量收费的 VPS 然后用内网 IP 拖过去 再下载下来。 15G*0.8 也没多少钱
    mxq0923
    mxq0923
    Sep 25, 2015
    83
    传 OSS 后直接下载.
    ryd994
    ryd994
    Sep 26, 2015
    84
    @bozong 我不用 bpcs_uploaders 的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   592 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 240ms · UTC 19:12 · PVG 03:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.