簡體   English   中英

獲取正在上傳的文件的進度 - unix

[英]get progress of a file being uploaded - unix

我需要監視使用腳本上傳的文件的進度。 在膩子(軟件)中,我們可以在右側查看上傳百分比、傳輸的字節數、上傳速度和預計到達時間。 我想開發一個類似的功能。 有沒有辦法實現這一目標?

你的問題是缺乏的文件是如何傳輸的任何信息。 大多數客戶端都有某種方式來顯示進度,但這取決於所使用的單個客戶端(scp、sftp、ncftp 等)。

但是,有一種方法來監測進展情況獨立地在什么進展: pv (管瀏覽器)

該工具的唯一目的是生成監控信息。 它的使用方式與cat非常相似。 您要么使用它來將文件“提升”到pv的標准輸出....

pv -petar <file> | ...

...或者您在管道中間使用它——但是您需要手動提供“預期大小”以獲得正確的進度條,因為pv無法事先確定傳輸的大小。 我在這里使用了 2 GB 的預期大小( -s 2G )...

cat <file> | pv -petar -s 2G | ...

使用的選項是-p (進度條)、- -e (ETA)、- -t (經過時間)、 -a (平均速率)和-r (當前速率)。 它們一起構成了一個很好的助記符。

其他不錯的選擇:

  • -L ,可用於限制管道中的最大速率(節流)。
  • -W ,讓pv在顯示進度條之前等待數據實際傳輸(例如,如果您將數據傳輸到的工具首先需要密碼)。

這很可能不是您要找的(因為您使用的傳輸客戶端可能有自己的顯示進度選項) ,但這是我所知道的一種工具,幾乎可以用於任何類型的數據傳輸,並且它可能會幫助其他人在未來訪問這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM