Linux

在完成一定百分比後通過附加下載

  • April 18, 2017

我總是wget -c用來下載一個文件,該文件通過在需要時從最後一個下載位置附加來啟用下載。

下載了一個文件30%。然後在網路佔用後,它開始在文件末尾附加一些垃圾並到達 until 40%。(由於文件伺服器的邏輯在 之後提供廢話數據而添加了垃圾30mins)。

現在,我有了一個新的 url 位置,其中包含一些新的令牌,可用於下一個30mins相同的文件。我怎樣才能繼續下載相同的文件但從頭30%開始?

或者是否有任何應用程序可以做到這一點?

前任:

$ wget -c http://xyz.com/file.txt?token=1

30% [=============>                                 ]
40% [=================>                             ] (10%junk added)

^C - cancelled

$ wget -c http://xyz.com/file.txt?token=2 --from='30%'

31% [+++++++++++++=>                               ]

注意:- --from='30%'只是例如是否可以完成。沒有類似的論點存在於wget

wget -c / --continue始終繼續使用給定的文件大小,但您可以更改:

用於truncate將文件減小回原始30%大小(您必須以字節或千字節為單位指定大小)。或者您可以使用head -c SIZE file > file_30pc,它不會觸及原始文件(但您必須重命名它)。

正如 BlueManCZ 建議的那樣,您可能希望使用-O output-file它來確保它是同一個文件。

注意:使用--start-pos而不是-c/--continue指定最後一個好的位置將不起作用,而是從該位置開始創建一個新文件,它不會附加現有文件(如果您指定它甚至會覆蓋-O)。

引用自:https://unix.stackexchange.com/questions/359687