วิธีที่จะทำให้การดาวน์โหลดลองอีกครั้งถ้าความเร็วไปต่ำกว่าเกณฑ์ที่กำหนด?


13

ฉันพยายามดาวน์โหลดไฟล์ 2GB ขนาดใหญ่ด้วย wget แต่หลังจากนั้นไม่กี่นาทีดูเหมือนว่าจะหยุดทำงาน

ฉัน ^ C มันและ wget อีกครั้ง [พร้อม--continueตัวเลือก] และมันจะเริ่มดาวน์โหลดอีกครั้ง

มีวิธีการลองดาวน์โหลดอัตโนมัติเมื่อหยุดดาวน์โหลดหรือไม่? ขอบคุณ

คำตอบ:


20

คุณสามารถใช้--triesตัวเลือก

   --tries=number
       Set number of retries to number.  Specify 0 or inf for infinite
       retrying.  The default is to retry 20 times, with the exception of
       fatal errors like "connection refused" or "not found" (404), which
       are not retried.

ดังนั้น--tries=0ควรทำเคล็ดลับ

ที่รวมกับ--read-timeout=secondsอีกด้วย วินาทีหมายถึงเวลาว่าง: ถ้าที่จุดใด ๆ ในการดาวน์โหลดไม่มีข้อมูลที่ได้รับมานานกว่าจำนวนที่ระบุวินาทีอ่านล้มเหลวและการดาวน์โหลดจะเริ่มต้นใหม่

ดังนั้นคำสั่งสุดท้าย:

wget -c --tries=0 --read-timeout=20 [URL]


1
ปัญหาคือว่า wget ไม่เลิก มันก็ช่วยให้ "ดาวน์โหลด" ที่ 0kb / s .. :(
แมตต์

8
ตกลง. บางทีคุณอาจใช้--read-timeout=secondsแทน "เวลา" ของการหมดเวลานี้หมายถึงเวลาว่าง: ถ้า ณ เวลาใดก็ตามในการดาวน์โหลดจะไม่ได้รับข้อมูลเกินจำนวนวินาทีที่ระบุการอ่านล้มเหลวและการดาวน์โหลดเริ่มต้นใหม่ ตัวเลือกนี้ไม่ส่งผลกระทบโดยตรงต่อระยะเวลาการดาวน์โหลดทั้งหมด แน่นอนเซิร์ฟเวอร์ระยะไกลอาจเลือกที่จะยุติการเชื่อมต่อได้เร็วกว่าตัวเลือกนี้ การหมดเวลาการอ่านเริ่มต้นคือ 900 วินาที
Pablo Zubieta

ใช่ อย่างนั้นแหละ! ฉันต้องอ่านมานานแล้วเมื่อฉันอ่านคู่มือ wget [ส่วนใหญ่ / ทั้งหมด] และฉันกลับไปหาไม่พบ
Matt

ไม่ควรรวมถึง - ยุติเช่นกัน?
sfyn

@sfyn: ใช่ฉันเพิ่ม-cไปยังคำตอบดังนั้นหากมีสิ่งใดที่ล้มเหลวคุณสามารถเลือกที่ที่คุณออกไป ขอบคุณ
Pablo Zubieta

0

Wget พยายามดาวน์โหลดต่อไป 15 นาทีหลังจากความล้มเหลว หากคุณทิ้งไว้ข้ามคืนมันควรจะทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.