wget indirilmeye başlıyor, sonra "yazamıyor"


13

Bazı dosyaları bir sunucudan diğerine yansıtmak için wget kullanıyorum. Aşağıdaki komutu kullanıyorum:

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

-x = Çünkü dizin yapısını korumak istiyorum

-N = Yalnızca yeni dosyalar almak için zaman damgası

-i = Harici bir dosyadan, her satırda bir dosya listesi indirmek için.

326kb büyük indirme test gibi küçük dosyaları gayet iyi.

Ama başka bir 5gb sadece 203mb indirir ve sonra durur (her zaman 203mb vermek veya birkaç kilobayt almak)

Gösterilen hata mesajı:

Âpath / to / file.zipâ'ya yazılamıyor

(Neden önce ve sonra garip karakterler olduğundan emin değilim. Windows'ta Putty kullanıyorum ve bununla ilgili bir şey olabilir veya olmayabilir, bu yüzden onları bıraktım. Ama sanmıyorum.).

Tam yanıt aşağıdaki gibidir: (Yolları, ip ve alan adını değiştirdim)

--2012-08-31 12: 41: 19-- http://domain.com/filelist.txt domain.com'un çözülmesi ... MY_IP domain.com | MY_IP |: 80 ... ile bağlantı kuruldu. HTTP isteği gönderildi, yanıt bekleniyor ... 200 Tamam Uzunluk: 161 [metin / düz] Sunucu dosyası yerel dosyadan daha yeni değil âdomain.com / filelist.txtâ

--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip domain.com sitesine bağlanma | MY_IP |: 80 ... bağlı. HTTP isteği gönderildi, yanıt bekleniyor ... 200 Tamam Uzunluk: 5502192869 (5.1G) [uygulama / zip] Boyutlar eşleşmiyor (yerel 213004288) - alma.

--2012-08-31 12: 41: 19-- http://domain.com/path/to/file.zip domain.com sitesine bağlanma | MY_IP |: 80 ... bağlı. HTTP isteği gönderildi, yanıt bekleniyor ... 200 Tamam Uzunluk: 5502192869 (5.1G) [uygulama / zip] Kaydediliyor: âdomain.com / path / to / file.zipâ

% 3 [====>
] 24s'de 213.003.412 8,74M / s

Âdomain.com / path / to / file.zipâ'ya yazılamıyor

Yol dizini zaten mevcutsa veya anında oluşturulmuşsa herhangi bir fark yaratmıyor gibi görünüyor.

Neden durduğunu ve nasıl düzeltebileceğimi bilen var mı?

Herhangi bir yardım en takdir edilecektir.

EDIT: Ben de sadece bir wget yapıyor, hiçbir dosya girişi ve dosyayı yeniden adlandırma denedim. Bu kez 3GB'ın biraz üzerinde indirir ve sonra aynı yazma hatası verir.

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

Yolunuzda özel karakterler var mı?
JMeterX

Komuttan önce "cd / tmp &&" yazarsanız beklendiği gibi çalışıyor mu?

Diskiniz dolu mu?
Jenny D

Disk kesinlikle dolu değil ve özel bir karakter yok. Yolun uzunluğu 87 karakter olmasına rağmen, bazı Google çalışanları uzun adlarla ilgili bazı sorunlar göstermiştir (dosya adı yalnızca 29 karakterdir) Tmp'de aynı şekilde başarısız olur.
John Mellor

@FreezeDriedPop Dosya adınız nispeten uzun olduğundan -Oseçeneği kullanarak değiştirebilirsinizwget -O test.zip http://link
JMeterX

Yanıtlar:


7

Disk alanınız kalmadıysa bu hatayı alırsınız. df'yi çalıştırın ve yazdığınız dizinin% 100 olup olmadığını göreceksiniz.


4

Uzun URL ile ilgili bir sorundur. Ben de karşılaştım. Bu yüzden bit.ly kullandım ve URL'yi kısalttım. Tıkır tıkır çalışıyor!


Emin misiniz? Sorun, işlemin en başında kullanılan URL ile ilgili olduğunda, indirme işleminin bir noktada başlayıp kesilmesi olası görünmemektedir.
Felix Frank

Evet. Ben de aynı problemi yaşadım. Dene.
Namchester

Bence linux uzun URL'yi tanıyamıyor.
Namchester

Sanırım kabuk demek istiyorsun? Çünkü çekirdek kesinlikle bu başarısızlıktan masumdur. Kabuk için bile olası değil, ancak durum böyleyse, indirme bile başlayamadı - kabuk, olası wgetsüreci çatallamadan önce hata yapardı .
Felix Frank

1
Benim için url üzerinde sorgu dizesi oldu -wget http://dltr.org/skin/frontend/lowes/default/css/custom.css?001
Damodar Bashyal

1

Sadece bir ilave -için tarwget sonra borunun sonra komuta

sahiptim

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

sonra olarak değiştirdi

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

Unutmayın ki tar için de -.
Shital Shah

0

Büyük bir dosyayı kaydetmeye başlar ve 203 MB yazarsa, alıcı ucunda tam bir dosya sistemine sahip olduğunuzdan veya ağ bağlantısının zaman aşımına uğradığından şüphelenirim.

Dosya sisteminin dolu olup olmadığını görmek için alıcı sunucudaki df -h komutunu kullanabilirsiniz

Wget ile zaman aşımı sorunları için bu cevaba göz atın:

/programming/2291524/does-wget-timeout

Ayrıca, başarısız olan aktarımı yeniden deneyin ve -N zaman damgası seçeneğini atlayın

Ayrıca, alıcı sunucuda dosya boyutu sınırı olup olmadığını görmek için ulimit -a komutunu çalıştırın


Ben uzman değilim ama sanırım CentOS 6 çalıştırıyor. Ayrıca karakter temsilini kontrol etmek nasıl emin değilim. Her ne kadar diğer küçük dosyaları indirmeye ve indirmeye başlasa da, sorun olduğunu düşünmüyorum.
John Mellor

İndirmeyi başardığı dosyaların adlarında HERHANGİ komik karakter var mı?
DisgruntledUser

Hayır, garip karakterler yok, nokta garip bir karakter değilse, örneğin "megapack_4.11.zip". Ama yine sadece "bigfile.zip" adıyla denedim ve aynı sorun ortaya çıkıyor.
John Mellor

Belki de sadece UTF-8'den farklı bir karakter temsiline ayarlanmış
Putty'dir

Evet, gerçekten sorun olduğunu düşünmüyorum, Putty'den kopyalayıp yapıştırırken bahsetmiştim. Gerçek sorun üzerine yazılamıyor.
John Mellor


0

Şuna benzer bir şey yapıyordum:

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

Aldım:

--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).

Eşdeğer filelist.txt dosyamda şöyle bir URL vardı:

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

Hata ayıklamak için wget oluşturmaya çalışıyordu aynı dosya oluşturmaya çalıştım:

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

Viyola! Sorun gibi görünüyor ?, ancak iyi uygulama dosya adlarından tüm özel karakterleri kaldırmak, kaçmazsa ne &yapacağını hayal etmek olacaktır.


0

Bu komutta aynı hatayı alıyordum:

sudo wget -O - https://nightly.odoo.com/odoo.key | apt-key add -

sorun ikinci komut için sudo ve ben ile çözmek:

sudo su
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.