wget bắt đầu tải xuống, sau đó dừng, không thể viết thư cho


13

Tôi đang sử dụng wget để phản chiếu một số tệp từ máy chủ này sang máy chủ khác. Tôi đang sử dụng lệnh sau:

wget -x -N -i http://domain.com/filelist.txt

-x = Vì tôi muốn giữ cấu trúc thư mục

-N = Dấu thời gian để chỉ nhận tệp mới

-i = Để tải xuống danh sách các tệp từ một tệp bên ngoài, mỗi tệp trên mỗi dòng.

Các tệp nhỏ như tôi đang kiểm tra tải xuống lớn 326kb.

Nhưng một cái khác là 5gb chỉ tải xuống 203mb rồi dừng lại (nó luôn là 203mb cho hoặc mất vài kilobyte)

Thông báo lỗi hiển thị là:

Không thể ghi vào âpath / to / file.zipâ

(Tôi không chắc tại sao lại có các ký tự lạ trước và sau. Tôi đang sử dụng Putty trong Windows và điều này có thể có hoặc không có gì đó để làm với nó, vì vậy tôi đã để chúng vào. Tôi đoán là không.).

Phản hồi đầy đủ như sau: (Tôi đã thay thế đường dẫn, ip và tên miền)

--2012-08-31 12: 41: 19-- http://domain.com/filelist.txt Giải quyết tên miền.com ... MY_IP Kết nối với domain.com | MY_IP |: 80 ... được kết nối. Yêu cầu HTTP được gửi, đang chờ phản hồi ... 200 OK Độ dài: 161 [text / plain] Tệp máy chủ không mới hơn tệp cục bộ âdomain.com / filelist.txtâ

--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip Kết nối với domain.com | MY_IP |: 80 ... được kết nối. Yêu cầu HTTP đã được gửi, đang chờ phản hồi ... 200 OK Độ dài: 5502192869 (5.1G) [application / zip] Các kích thước không khớp (cục bộ 213004288) - truy xuất.

--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip Kết nối với domain.com | MY_IP |: 80 ... được kết nối. Yêu cầu HTTP đã được gửi, đang chờ phản hồi ... 200 OK Độ dài: 5502192869 (5.1G) [application / zip] Lưu vào: âdomain.com / path / to / file.zipâ

3% [====>
] 213,003,412 8,74M / giây trong 24 giây

Không thể ghi vào âdomain.com / path / to / file.zipâ

Nó dường như không tạo ra bất kỳ sự khác biệt nào nếu thư mục đường dẫn đã tồn tại hoặc được tạo nhanh chóng.

Có ai có bất cứ ý tưởng tại sao nó dừng lại và làm thế nào tôi có thể sửa chữa nó?

Bất kỳ trợ giúp với được đánh giá cao nhất.

EDIT: Tôi cũng đã thử chỉ làm một wget, không nhập tệp và đổi tên tệp. Lần này, nó tải xuống hơn 3gb một chút và sau đó đưa ra lỗi không thể ghi tương tự.

wget -x -N http://domain.com/path/to/file.zip -O files/bigfile.zip

Bạn có bất kỳ nhân vật đặc biệt trong con đường của bạn?
JMeterX

Nó có hoạt động như mong đợi không nếu bạn gõ "cd / tmp &&" trước lệnh?

Đĩa của bạn đã đầy chưa?
Jenny D

Đĩa chắc chắn không đầy đủ và không có ký tự đặc biệt. Mặc dù độ dài của đường dẫn là 87 ký tự, một số nhân viên Google đã cho thấy một số vấn đề với tên dài (tên tệp chỉ có 29 ký tự) Nó thất bại theo cách tương tự trong tmp.
John Mellor

@FreezeDriedPop Vì tên tệp của bạn tương đối dài, bạn có thể thay đổi bằng cách sử dụng -Otùy chọn nàywget -O test.zip http://link
JMeterX

Câu trả lời:


7

Bạn sẽ gặp lỗi này nếu bạn hết dung lượng đĩa. chạy df và bạn sẽ thấy thư mục bạn đang viết có ở mức 100% không


4

Đó là một vấn đề với URL dài. Tôi cũng đối mặt với nó. Vì vậy, tôi đã sử dụng bit.ly và rút ngắn url. Hoạt động như một Bùa chú!


Bạn có chắc không? Có vẻ như việc tải xuống sẽ bắt đầu và ngừng hoạt động vào một thời điểm nào đó khi sự cố liên quan đến URL, chỉ được sử dụng khi bắt đầu giao dịch.
Felix Frank

Đúng. Tôi đã từng gặp vấn đề tương tự. Thử nó.
Namchester

Tôi nghĩ vấn đề là với linux không thể nhận ra url dài.
Namchester

Tôi cho rằng bạn có nghĩa là vỏ? Bởi vì hạt nhân chắc chắn là vô tội nhất của thất bại này. Ngay cả đối với hệ vỏ, điều đó không có khả năng, nhưng nếu là trường hợp đó, một lần nữa, quá trình tải xuống thậm chí không thể bắt đầu - trình bao sẽ bị lỗi trước khi thậm chí hủy bỏ wgetquá trình triển vọng .
Felix Frank

1
Đối với tôi, đó là chuỗi truy vấn trên url -wget http://dltr.org/skin/frontend/lowes/default/css/custom.css?001
Damodar Bashyal

1

Tôi chỉ cần thêm một -đến tarlệnh sau khi đường ống sau khi wget

Tôi đã có

wget https://example.com/path/to/file.tar.gz -O -|tar -xzf -C /path/to/file

sau đó đổi nó thành

wget https://example.com/path/to/file.tar.gz -O - | tar -xzvf - -C /path/to/file

Đừng quên `-` cho tar là tốt :).
Shital Shah

0

Nếu nó bắt đầu lưu một tệp lớn và ghi 203 MB, tôi sẽ nghi ngờ rằng bạn có một hệ thống tệp đầy đủ ở đầu nhận hoặc kết nối mạng đã hết thời gian.

Bạn có thể sử dụng df -h trên máy chủ nhận để xem hệ thống tập tin đã đầy chưa

Kiểm tra câu trả lời này cho các vấn đề thời gian chờ với wget:

/programming/2291524/does-wget-timeout

Ngoài ra, hãy thử lại quá trình chuyển không thành công và bỏ qua tùy chọn dấu thời gian -N

Ngoài ra, hãy chạy ulimit -a để xem có giới hạn kích thước tệp trên máy chủ nhận không


Tôi không phải là chuyên gia nhưng tôi nghĩ nó đang chạy CentOS 6. Ngoài ra tôi không chắc cách kiểm tra biểu diễn nhân vật. Mặc dù nó bắt đầu tải xuống và tải xuống các tệp nhỏ hơn khác, nhưng tôi không nghĩ đó có vẻ là vấn đề.
John Mellor

Các tập tin thành công trong việc tải xuống có BẤT K character ký tự nào trong tên của họ không?
Bất mãn Người dùng

Không, không có ký tự lạ nào cả, trừ khi một dấu chấm là một ký tự lạ, ví dụ: "megapixelack_4.11.zip". Nhưng một lần nữa tôi đã thử nó chỉ với cái tên "bigfile.zip" và vấn đề tương tự xảy ra.
John Mellor

Có lẽ chỉ có Putty được đặt thành một đại diện char khác với UTF-8
Không hài lòng Người dùng

Vâng tôi thực sự không nghĩ đó là vấn đề, tôi chỉ đề cập đến nó khi tôi được sao chép và dán từ Putty. Vấn đề thực sự không thể ghi vào.
John Mellor


0

Tôi đã làm một cái gì đó tương tự như:

wget -x -N -i http://domain.com/filelist.txt

Tôi đã nhận được:

--2016-12-09 07:44:23--  https://www.example.com/dir/details?abc=123&def=456
Resolving www.example.com (www.example.com)... 1.2.3.4
Connecting to www.example.com (www.example.com)|1.2.3.4|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
details?abc=123&def=456: No such file or directory

Cannot write to ‘details?abc=123&def=456’ (Success).

Trong tệp filelist.txt tương đương của tôi, tôi có một URL như:

https://www.example.com/dir/details?abc=123&def=456

Vì vậy, để gỡ lỗi tôi đã thử tạo cùng một tệp wget đã cố gắng tạo:

touch "details?abc=123&def=456"
touch: cannot touch ‘details?abc=123&def=456’: No such file or directory

Viola! Có vẻ như đó ?là vấn đề, nhưng thực tế tốt là loại bỏ tất cả các ký tự đặc biệt khỏi tên tệp, hãy tưởng tượng ý &chí sẽ làm gì nếu không thoát.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.