我的API服务器具有非常有限的磁盘空间(500MB)和内存(1GB).它获得的API调用之一是接收文件.消费者调用API并传递要下载的URL.

我的服务器的“目标”是将此文件上传到Amazon S3.不幸的是,我不能要求消费者将文件直接上传到S3(部分要求).

问题是,有时这些是巨大的文件(10GB)并将它们保存到磁盘然后上传到S3不是一个选项(500MB磁盘空间限制).

我的问题是,如何使用curl Linux程序将文件从输入URL“管道”到S3?

注意:我能够以不同的方式管道它,但是,它首先尝试下载整个文件并失败,或者我遇到内存错误和卷曲退出.我的猜测是下载比上传要快得多,因此当我获得10GB文件时,管道缓冲区/内存会增长并爆炸(服务器上的内存为1GB).

有没有办法实现我正在尝试使用卷曲和滚边?

谢谢,

– 杰克

另一个SO用户询问了关于stdin卷曲帖子的类似问题.见

use pipe for curl data.

一旦您能够从第一个curl进程的标准输出的输出发布上传流,如果由于下载速度超过上载速度而内存不足,请查看mbuffer实用程序.我自己没有使用它,但它似乎是针对这类问题而设计的.

最后,如果所有其他方法都失败了,我想你可以使用curl的–limit-rate选项将上传和下载的传输速率锁定为一些相同且可持续的值.这可能未充分利用带宽,并且无法通过多个并行下载/上传流进行良好扩展,但对于某些一次性批处理流程,它可能已经足够好了.

curl上传文件linux,在Linux中如何使用curl从一个服务器流式传输文件到另一个服务器(有限的服务器资源)...相关推荐

  1. 从MongoDB GridFS流式传输文件

    不久前,我在Twitter上发布了自己的最新作品,即从MongoDB GridFS传输文件进行下载(而不是将整个文件存储到内存中然后提供服务),这是我取得的一个小胜利. 我答应就此事写博客,但不幸的是 ...

  2. 读取csv文件 java_Java:逐步读取/流式传输CSV文件

    读取csv文件 java 我一直在做一些涉及读取CSV文件的工作,而我一直在使用OpenCSV ,而我的最初方法是逐行读取文件,解析内容并将其保存到地图列表中. 当文件的内容适合内存时,此方法有效,但 ...

  3. Java:逐步读取/流式传输CSV文件

    我一直在做一些涉及读取CSV文件的工作,而我一直在使用OpenCSV ,而我的最初方法是逐行读取文件,解析内容并将其保存到地图列表中. 当文件的内容适合内存时,此方法有效,但对于较大的文件来说是个问题 ...

  4. 流媒体服务器文件传输,mStream - 从任何地方流式传输音乐的个人流媒体服务器...

    mStream是一款免费的开源和跨平台个人音乐流媒体服务器,可让您在所有设备之间同步和流式传输音乐. 它由一个用NodeJS编写的轻量级音乐流媒体服务器组成; 您可以使用它将音乐从家用电脑流式传输到任 ...

  5. 服务器如何接收curl上传文件,linux curl上传文件到服务器

    linux curl上传文件到服务器 内容精选 换一换 为了实现通过NAT Server可使用SSH协议跳转到SAP HANA节点的功能,以及SAP HANA节点和NAT Server互相通过SSH协 ...

  6. php curl文件上传,在 php 中通过 CURL 上传文件

    1.使用 CURL 默认的方法$file = realpath('gif/1.gif'); //要上传的文件 $fields['f'] = '@'.$file; $ch = curl_init(); ...

  7. 命令行curl上传文件_命令行基础知识:使用cURL下载文件

    命令行curl上传文件 Client URL, or simple cURL is a library and command-line utility for transferring data b ...

  8. 使用curl上传带有文件的POST数据

    本文翻译自:Using curl to upload POST data with files I would like to use cURL to not only send data param ...

  9. php curl上传文件返回false,php curl上传文件$_FILES为空的问题

    PHP 5.0~5.6 各版本兼容的cURL文件上传 最近做的一个需求,使用PHP cURL上传文件.踩坑若干,整理如下. 不同版本PHP之间cURL的区别 PHP的cURL支持通过给CURL_POS ...

最新文章

  1. Java Day01-1
  2. 183SDP回铃设置步骤
  3. 室内使用酒精消毒的时候一定要注意开窗!!!
  4. 用Twebbrowser做可控编辑器与MSHTML
  5. 如何用数学和化学方法测量英国海岸线的长度
  6. java监控数据库性能_Java:GraalVM数据库流性能
  7. linux通过vnc掉出浏览器,VNC远程Linux桌面控制好用 --尤其是用浏览器
  8. PHP学习总结(3)——PHP入门篇之PHP的echo语句
  9. PyTorch学习记录-1PyTorch安装
  10. SVG.属性(各种)
  11. sql2005 脚本中给字段写说明
  12. 递归删除文件和删除文件夹
  13. QTouch手机组态软件APP
  14. iOS开发-dSYM文件
  15. X509数字证书格式
  16. 火焰图分析Flink反压
  17. 怎么压缩图片200k以下?这个压缩工具,3秒无损完成
  18. 【算法】【递归与动态规划模块】两个字符串的公共最长子序列
  19. linux hub设备,linux usb hub初始化
  20. FVD跟驰模型Python数值仿真

热门文章

  1. mysql select 查询选后5个_mysql 查询select语句汇总
  2. 前端学习之JavaScript第二天学习
  3. HTML5语义化的理解
  4. Jenkins的入门(二)配置
  5. Requirejs与r.js打包,AMD、CMD、UMD、CommonJS、ES6模块化
  6. Android: AndroidStudio使用OpenCV-Native
  7. 基于物品的协同过滤ItemCF的mapreduce实现
  8. C++调用Matlab 注意事项
  9. MFC 添加文件路径 遍历文件
  10. svn 建子项目的方法