curl上传文件linux,在Linux中如何使用curl从一个服务器流式传输文件到另一个服务器(有限的服务器资源)...
我的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从一个服务器流式传输文件到另一个服务器(有限的服务器资源)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kali linux 中文输入法,Kal
- 下一篇: inode linux x64,又一次在