การดาวน์โหลดต่อไม่สำเร็จโดยใช้เครื่องมือบรรทัดคำสั่ง Linux


37

ฉันจะเรียกคืนไฟล์ที่ดาวน์โหลดบางส่วนโดยใช้เครื่องมือ commandline Linux ได้อย่างไร

ฉันดาวน์โหลดไฟล์ขนาดใหญ่บางส่วนเช่น 400 MB จาก 900 MB เนื่องจากการขัดจังหวะการใช้พลังงาน แต่เมื่อฉันเริ่มดาวน์โหลดอีกครั้งจะกลับมาเริ่มต้นใหม่ ฉันจะเริ่มจาก 400 MB ได้อย่างไร


5
คุณใช้ commandline อะไรในการดาวน์โหลดไฟล์ตั้งแต่แรก?
Anthon

3
กรุณาอย่าตอบในความคิดเห็นปรับปรุงคำถามที่ไม่สมบูรณ์ของคุณ
Anthon

1
หากคุณกำลังใช้curlคุณควรจะค้นหาหน้าคนสำหรับ-Cตัวเลือก
HalosGhost

คำตอบ:


53

เนื่องจากคุณไม่ได้ระบุฉันถือว่าคุณใช้wgetเพื่อดาวน์โหลดไฟล์ หากเป็นกรณีนี้ลองใช้กับ-cตัวเลือก (เช่นwget -c <URL>)

โปรดสังเกตว่าในกรณีที่โปรโตคอลที่ใช้คือ ftp (ดูเหมือน URL ftp://...) มีโอกาสที่เซิร์ฟเวอร์ระยะไกลจะใช้ ftp daemon เก่า / เก่าซึ่งไม่รองรับการดาวน์โหลดต่อ (ftp daemons รุ่นใหม่จะสนับสนุนมานานกว่าทศวรรษแล้ว) ดังนั้นนี่เป็นโอกาสเพียงเล็กน้อย) แม้ว่าในกรณีนี้คุณอาจจะโชคไม่ดี ในทางกลับกันคุณไม่ควรมีปัญหาหากโปรโตคอลที่ใช้คือ http (อัปเดต: ตามผู้เชี่ยวชาญอื่น ๆ (รวมถึง Gilles ในความคิดเห็นด้านล่าง) การทำงานต่อในขณะที่ใช้ http ยังขึ้นอยู่กับการสนับสนุนเซิร์ฟเวอร์ดังนั้นสิ่งนี้จึงใช้ได้กับทั้ง ftp และ http)

โชคดี.


5
การดาวน์โหลด HTTP สามารถดำเนินการต่อได้ต่อเมื่อเซิร์ฟเวอร์รองรับและนั่นหายากกว่าเซิร์ฟเวอร์ FTP
Gilles 'หยุดความชั่วร้าย'

ขอบคุณ Gilles ฉันมีประสบการณ์ที่ดีกับการกลับมาทำงานต่อในขณะที่ใช้ http แต่คุณอาจพูดถูกและฉันโชคดี จะอัปเดตคำตอบของฉัน
Marcelo

wget -c http:...ทำงานกับเซิร์ฟเวอร์ 3 หรือ 4 ตัวที่ฉันได้ลองไว้
Bob Stein

ขอพระเจ้าอวยพรคุณผู้ชาย!
ผู้เรียน

3
@Gilles: จริง ๆ แล้วนี่เป็นตัวเลือกทั่วไปที่มีเนื้อหาคงที่จากเซิร์ฟเวอร์ที่ใหม่กว่า ~ 2010 (ในคำอื่น ๆ เซิร์ฟเวอร์ส่วนใหญ่อนุญาตให้มีการร้องขอช่วงสำหรับไฟล์คงที่โดยค่าเริ่มต้น) สำหรับข้อมูลที่สร้างขึ้นแบบไดนามิกนี่เป็นของหายากจริงๆ
Piskvor

0

ฉันรู้ว่าคำถามเดิมหมายถึงอะไรและคำตอบไม่ได้ -c ...

สถานการณ์สามารถอธิบายได้ดังนี้:

# Start mirroring a site
wget -m http://...
# 400MB later wget died or interrupted,
# don't know where it left off, don't care,
# just want to get the remaining 100MB without getting the first 400MB again
wget -nc -r -l inf --no-remove-listing http://...

ตัวเลือก "-r -l inf - no-remove-listing" เทียบเท่ากับ -m โดยไม่มีพารามิเตอร์ -N การเพิ่มพารามิเตอร์ -nc หลีกเลี่ยงการบันทึก 400MB แรกไว้ในฮาร์ดไดรฟ์ของคุณ

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