海外服务器,一般延迟都比较高。如果不是China Telecom/China Unicom路由直连,延迟更加的不稳定,甚至长连接会经常闪断。国内跨运营商服务器,没有BGP网关,也同样会发生这样的情况,不过要比海外的好很多。

由于需要,需要往上述条件下的服务器拷贝一些大文件过去,此为背景。

文件普遍都在GB级别,一开始使用FileZilla使用SFTP直接传输文件,但经常出现文件传输了没有三分之一就出现闪断,闪断几次之后直接失败。后来换用了FTP协议传送文件,问题依然出现。一宿的时间传不了几个文件上去,也是一件很恼火的事情。

查资料也没有什么好的解决办法,最终决定将大文件分割,分片上传。这样至少能够保证已经传送的分片是完整的,遇到重传也只需要补传分片,并不需要重传整个文件。虽然没有完美的解决问题,但是至少很大的提高了效率。

由于服务器和客户机使用的Linux和Mac系统,分割合并文件十分的方便,基本一条命令可以搞定的事情。如果是windows的话,要更麻烦一些。如果传送的文件量很大的话,也可以考虑使用sh脚本进行批处理。

在Mac下使用split命令对文件进行分割:

Mac和Linux下的split命令有一定的差异,这个需要稍微注意一下。关于split命令的详细参数和使用方法,官方文档有,不过man一下更简单。

直接使用如下命令就可以对文件进行分割,不过建议先对文件进行压缩

split -b 200m file_name file_name_

执行完成后会在当前目录产生被分割的文件,默认以_[a-z]2结尾。这样文件就分割好了,然后直接通过FileZilla等FTP工具上传到服务器即可。

在服务器端直接使用如下命令就可以将文件聚合,如果压缩了还需要进行解压缩

cat file_name_* > file_name

不过为了保证文件的一致性,建议对本地源文件和服务器已经聚合后的文件做MD5校验。Mac下直接用md5命令,在Linux下则为md5sum命令。如果两边的校验值一致,说明文件是没有问题的。

通过这种方法,虽然没有完美解决,但是在很大的程度上缩短了整体的文件处理时间,也着实是一种无奈之举。

linux下载大文件失败,Linux下FTP/SFTP传输大文件总是失败的处理办法相关推荐

  1. ftp mac上传文件到服务器,mac ftp 如何上传文件到服务器

    mac ftp 如何上传文件到服务器 内容精选 换一换 安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器.例如QQ.exe.在本地主机和Windows云服务器 ...

  2. linux下载哪个python版本-Linux下切换Python版本的几种方法

    本篇博文面向Linux用户,在Ubuntu下测试通过 0 为什么需要有两个版本的Python Python2和Python3不兼容是每个接触过Python的开发者都知道的事,虽说Python3是未来, ...

  3. linux下载安装的命令,linux安装和常用命令

    linux安装和常用命令 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 Linux安装和常用命令常用命令:文件管理:1,cat:把 ...

  4. linux下载哪个python版本-Linux安装多个Python版本

    服务器上的Python版本太老了,需要安装一个新的Python版本,才能跑我的代码.因为环境的需要,但是又不能卸载老的版本,所以安装一个新的,使用软链来进行升级. 使用系统自带的yum,apt-get ...

  5. ftp服务器文件如何直接更改,ftp服务器 直接改文件

    ftp服务器 直接改文件 内容精选 换一换 简要介绍lftp是一个文件传输程序,它支持ftp.SETP.HTTP和FTPs等多种文件传输协议.语言:C++一句话描述:文件传输程序开源协议:GPL 3建 ...

  6. ftp服务器上传创建文件夹权限设置密码,ftp服务器如何创建文件夹权限设置

    ftp服务器如何创建文件夹权限设置 内容精选 换一换 该任务指导用户使用Loader将数据从Hive导出到SFTP服务器.创建或获取该任务中创建Loader作业的业务用户和密码.确保用户已授权访问作业 ...

  7. java在FTP服务器创建文件夹,java在ftp服务器上创建文件夹

    java在ftp服务器上创建文件夹 内容精选 换一换 启动目的端时失败,错误码:SMS.3103,提示迁移失败原因"对目的服务器重新建立引导失败".启动目的端后,系统会重新安装目的 ...

  8. JAVA实现服务器间拷贝文件,寻找在Java服务器之间传输大文件的好方法

    在这个项目中有一个主要的数据库服务器,其他安装在不同地方的服务器维护着自己的本地数据库.我们必须允许每个系统将其本地数据库更新为主要数据库上的任何版本.所有的服务器都运行Java环境.寻找在Java服 ...

  9. 网络资源下载方式:http/https、ftp/sftp、BT种子、磁力下载、ed2k下载等的区别

    文章目录 参考资料 序言 中心化下载 http/https下载 ftp/sftp下载 http与ftp下载方式的不同 中心化下载的缺点 去中心化下载 BT种子下载 磁力下载 ed2k下载 推荐的下载器 ...

最新文章

  1. ML 04、模型评估与模型选择
  2. (Mirage系列之五)Mirage经典案例之桌面驱动和基础层管理
  3. Alibaba笔试题:根据关键字求最短摘要字串
  4. asp.net ajax回调函数
  5. 【好文链接】什么是最小二乘法?
  6. JCL 清理 LOGREC 日志
  7. 【Stanford Online】Engineering: Algorithms1 NO.5 QuickSort Algorithm
  8. 重庆中职高考计算机专业试题,职业高中高考计算机专业试卷3答案
  9. MTK驱动移植相关路径
  10. 菜鸟学习之Java入门基础知识
  11. 打印机提示连接计算机,电脑突然不识别连接的打印机,打印机突然显示未连接...
  12. 牛年交个朋友,重新认识一下云和恩墨!
  13. Flutter Navigator基础使用
  14. 【JS】JavaScript的事件驱动和处理
  15. 拼多多、轻课、宝宝玩英语们:一样的微信刷屏,不一样的姿态
  16. SPI在linux3.14.78 FS_S5PC100(Cortex A8)和S3C2440上驱动移植(deep dive)
  17. 读书百客:《郡斋雨中与诸文士燕集》赏析
  18. Kuick:创业大军中脱颖而出的少数派
  19. 深圳大数据学习:高阶函数--【千锋】
  20. 【连载】【FPGA黑金开发板】NIOS II那些事儿--NIOS II 常见问题(FAQ)

热门文章

  1. Python之建模规划篇--整数规划
  2. 单源最短路径算法java_数据结构 - 单源最短路径之迪杰斯特拉(Dijkstra)算法详解(Java)...
  3. MYSQL1146解决方法
  4. 全班抽签java程序
  5. [转]Python中找出dataframe中的重复的行 DataFrame.duplicated()方法
  6. Html和Xml中注释符
  7. ZYNQ - 无DDR固化程序(代码运行在OCM上)
  8. 计算机网络第六章 链路层和局域网
  9. web前端开发远程调试工具Weinre
  10. 26岁想转行做程序员是否可行?