首页 > 其他分享 >上传超大文件到云端服务器

上传超大文件到云端服务器

时间:2023-10-20 21:12:59浏览次数:42  
标签:文件 分割 超大 传输 分片 服务器 上传 云端

一直以来,通过互联网传送超大文件都是个麻烦事,传统的SSH/FTP工具只适合传输不太大的文件和目录,遇到上G的文件经常会出现传输错误,常用手段如百度云在Linux服务器上没法使用,一些专业传输软件需要在服务端安装开端口,而我们日常遇到的超大文件越来越多,linux的安装包要几个G,docker镜像要几十个G,虚机镜像几百个G......

因此超大文件传输,需要满足:

1)利用现有环境(比如SSH),无需在服务器上安装新软件。

2)传输可靠,经得起互联网的考验,例如网速时快时慢,例如你正在上传时,同事重启了办公室WIFI。

3)传输速度要尽量快,但这方面客观制约因素有点多,如互联网本身的波动,旁边有人在下片等。

 

今天介绍一款工具软件 OnTheSSH ( 下载 )正好满足以上需求。On The SSH名称表示软件是建立在SSH协议上的,使用中只需要服务器开通了SSH服务(这不是问题,SSH服务是Linux服务器的标配)。OnTheSSH提供了几种传输方式,其中文件分割传输适合超大文件传输,帮助手册是这样介绍的:

传输前,在源端先将文件分割成一份份的,然后将这些一份份的文件传输到目的端,传输完成后再将这些一份份的合并。 如果传输过程中有失败的,会自动将失败的这份文件重新传输。

 OnTheSSH软件只有10多M大小,可在Windows和MacOS系统上安装,Windows版采用绿色安装方式,下面我们测试上传一个20G的文件到云端服务器。

 

1、打开OnTheSSH软件,在左边栏鼠标右键选择云端服务器(当然你需要先创建它),在弹出菜单中点击"管理":

 2、调整窗口中路径地址,到上传的目的路径,然后点击上面的“文件分割上传”按钮:

 3、在“创建分割上传任务”窗口中:

  • 源路径:图中的centos7.0.qcow2是虚拟机KVM的镜像文件,大约21G大小。
  • 目的路径:云服务器上的目的路径,文件将上传到这里。
  • 分割参数:分割片文件的大小,这里按默认的每片10M。如果网络很糟糕,应适当减少这个尺寸,因为每一个分割片文件传输失败时会重传这个文件,网络不好会造成大批量重传,分片尺寸大重传浪费就比较大。
  • 本地分割路径:上传前centos7.0.qcow2文件分片存放位置,这个位置的磁盘空闲空间至少要大于centos7.0.qcow2文件的大小。
  • 远端分割目录:上传分片文件时,云端服务器的存放位置,同样磁盘空间要有余量满足分片文件的存放。

  4、点击“确定”按钮后,传输任务就开始了,窗口动态显示传输状态(21G文件有点大,仅分割就要好一会儿):

  • 概况:显示了传输任务的基本信息,源路径、目的路径、传输方向、文件大小、分割路径
  • 状态:显示任务进行到那个阶段
  • 传输进度:显示任务进行的百分比(正在分割文件,还没开始传输,当然是0%)。文件分割数表示分片文件的数量,已传输表示已经传过去了多少个分片文件。

 5、开始传输了:

 6、闲了看看windows系统的网络性能,上传速率21Mbps,办公室用网人多,就这速度,慢慢等吧......

用OnTheSSH提供的系统监控,看看云端服务器的网络速率:

 

 7、又闲了,看看分割片文件的传输情况,这是本地的2049个分片文件:

 这是云端的(缓慢增长中):

 

8、超过一半了:

8、终于传完了,4个小时还是5个小时,记不清了:

 9、计算文件摘要,看看传输是否完整,先看本地:

 再看远端:

 

 完全吻合,Very Good!

 【总结】

OnTheSSH虽然不能提高网速,却能让你放心的把工作交给它,不用担心是否中断了、出错了,可以出去吃个饭、或者晚上睡一觉,它总能给你一个满意的结果。

 

标签:文件,分割,超大,传输,分片,服务器,上传,云端
From: https://www.cnblogs.com/dyf029/p/17776933.html

相关文章

  • php提高文件上传速度
    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。1.file_uploads=on/off是否允许通过http方式上传文件2.max_execution_time=30允许脚本最大执行时间,超过这个时间就会报错3.memory_limit=50M设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译......
  • php批量上传大文件,快速解决php大文件上传问题
    处理这个问题要先明白,多大的文件才能算是大文件?两三百M算不算大文件。所谓大小其实是一个相对值。和你所处的网络环境,处理的语言有关系。语言不必多少,网络环境嘛,如果你的上传带宽足够大,那么两三百M不算是太的的文件。当然总有一般情况,就目前普遍的带宽,对于PHP处理上百M的文件就算......
  • 设置项目上传文件的大小限制
    方式有两种:一种是富文本编辑框,一种是正常上传文件 第一种:目录:Web-Areas-UEditor-config.json文件内有上传图片大小配置、上传视频大小配置注意单位 第二种:文件:Web.config文件代码:在<system.web>中新增<httpRuntimeenableVers......
  • PHP 快速实现大文件上传
    简单的上传代码最简上传代码<?phpmove_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"])?><formaction=""method="post"enctype="multipart/form-data"><inputt......
  • ElementUI——el-upload上传前校验图片宽高
    前言总要写点东西吧,最近忙于项目,github上的问题也没处理,博客也没咋写,自媒体上的东西也没咋发,随手记录一下当前项目改造时候遇到的问题吧;内容before-upload借助于:before-upload来进行校验,使用FileReader和Image来获取宽高constreader=newFileReader()reader.onload......
  • 实战攻防演练--利用微软自带Certutil命令ByPassAV上传C2
    CertutilCertutil.exe是Windows操作系统中的合法程序,主要用于管理证书相关操作。它提供了转储和显示证书颁发机构(CA)的配置信息、配置证书服务、备份和还原CA组件,以及验证证书、密钥对和证书链等功能,然而,由于其功能强大,很多攻击者滥用Certutil.exe程序将其用于攻击辅助,常用于远程......
  • 文件上传漏洞
    多数的站点都存在文件上传功能,若未对用户上传的文件进行严格的过滤,则攻击者可能向后台数据库上传病毒、木马后门程序等恶意文件。如恶意用户上传一个可以执行的WebShell程序,则可以通过该程序获取系统后台Shell执行方法从而进一步获取整个系统的操作权限。原理文件上传漏洞主要是因......
  • 大文件上传的思路
    1.大文件上传的解决思路1.文件切片:把一个大文件转换成二进制内容,然后按照一个固定的大小对二进制内容进行切割,得到多个小文件,然后循环上传所有的小文件。在js中,文件File对象是Blob对象的子类,可以使用slice()方法完成对文件的切割;2.文件合并:当所有小文件上传完成,调用接口通知后端把......
  • js分片上传&断点续传
    原理js将大文件分成多分,全部上传成功之后,调用合并接口合成文件。如果传输中断,下次上传的时候过滤掉已经上传成功的分片,将剩余的分片上传,成功之后合并文件。前置条件获取uoloadId接口(用于标记分片)分片上传接口合成文件接口(后端自动合成则不需要)查询已上传的分片列表接口(断点......
  • js实现文件切片上传,断点续传
    断点续传:顾名思义,继续上次断开的点,继续上传。思路整理:拿到文件,对文件进行fingerprint=md5(file),得到文件指纹。将指纹保存服务器。切割文件,分段上传,每次上传一段。服务器根据指纹进行索引判断文件上传进度,直到文件的全部片段上传完毕。以下文字没有完整的代码,只有基础......