wgetはダウンロードを開始し、「書き込み不可」を停止します


13

wgetを使用して、サーバー間でいくつかのファイルをミラーリングしています。私は次のコマンドを使用しています:

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

-x =ディレクトリ構造を保持するため

-N =新しいファイルのみを取得するためのタイムスタンプ

-i =外部ファイルからファイルのリストをダウンロードするには、各行に1つずつ。

私がテストしているような小さなファイルは、326kbの大きなダウンロードで十分です。

しかし、5GBの別のものは203mbのみをダウンロードしてから停止します(常に203MBが数キロバイトを与えたり、取ります)

表示されるエラーメッセージは次のとおりです。

「path / to / file.zip」に書き込めません

(前後に奇妙な文字が存在する理由がわかりません。WindowsでPuttyを使用していますが、これとは関係があるかもしれません。そのため、そのままにしておきます。

完全な応答は次のとおりです:(パス、IP、およびドメイン名を置き換えました)

--2012-08-31 12:41:19-- http://domain.com/filelist.txt domain.comの解決... MY_IP domain.comへの接続| MY_IP |:80 ...が接続されました。HTTP要求が送信され、応答を待機しています... 200 OK長さ:161 [text / plain]サーバーファイルはローカルファイル「domain.com/filelist.txt」よりも新しいものではありません

--2012-08-31 12:41:19-- http://domain.com/path/to/file.zip domain.comへの接続| MY_IP |:80 ...接続しました。HTTP要求が送信され、応答を待っています... 200 OK長さ:5502192869(5.1G)[アプリケーション/ zip]サイズが一致しません(ローカル213004288)-取得しています。

--2012-08-31 12:41:19-- http://domain.com/path/to/file.zip domain.comへの接続| MY_IP |:80 ...接続しました。HTTP要求が送信され、応答を待っています... 200 OK長さ:5502192869(5.1G)[application / zip]保存先:âdomain.com/ path / to /file.zipâ

3%[====>
] 213,003,412 24秒で8.74M / s

âdomain.com/ path / to /file.zipâに書き込めません

パスディレクトリが既に存在するか、その場で作成される場合、違いはないようです。

なぜ停止するのか、どうすれば修正できるのか誰にも分かりますか?

どんな助けでも大歓迎です。

編集:また、wgetを実行し、ファイル入力をせずにファイル名を変更しようとしました。今回は3GBを少し超えてダウンロードしてから、同じ書き込み不可エラーが発生します。

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

パスに特殊文字がありますか?
JMeterX

コマンドの前に「cd / tmp &&」と入力すると、期待どおりに動作しますか?

ディスクがいっぱいですか?
ジェニーD

ディスクは完全にいっぱいではなく、特殊文字はありません。パスの長さは87文字ですが、一部のグーグルでは、長い名前(ファイル名は29文字しかありません)でいくつかの問題を示しています。tmpでも同じように失敗します。
ジョンメラー

@FreezeDriedPopファイル名が比較的長いので、あなたが使用して変更することができます-Oので、オプションをwget -O test.zip http://link
JMeterX

回答:


7

ディスク容量が不足している場合、このエラーが発生します。dfを実行すると、書き込み先のディレクトリが100%であるかどうかがわかります。


4

これは長いURLの問題です。私もそれに直面しました。そこで、bit.lyを使用してURLを短縮しました。チャームのように機能します!


本気ですか?問題がURLに関連している場合、トランザクションの開始時にのみ使用されるダウンロードが開始され、ある時点で中断されることはほとんどありません。
フェリックスフランク14年

はい。同じ問題がありました。それを試してみてください。
ナムチェスター14年

問題は、Linuxが長いURLを認識できないことにあると思います。
ナムチェスター14年

私はあなたがシェルを意味すると思いますか?なぜなら、カーネルは間違いなくこの失敗の罪がないからです。シェルの場合でもそうではありませんが、その場合は、ダウンロードを開始することさえできませんでした。シェルは、将来のwgetプロセスをフォークする前にエラーになります。
フェリックスフランク14年

1
私にとっては、URLのクエリ文字列wget http://dltr.org/skin/frontend/lowes/default/css/custom.css?001
でした

1

wgetの後のパイプの後のコマンドにa -を追加しましたtar

持っていた

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

その後に変更しました

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

tarの `-`も忘れないでください:)。
シタールシャー

0

大きなファイルの保存を開始して203 MBを書き込む場合、受信側に完全なファイルシステムがあるか、ネットワーク接続がタイムアウトしていると思われます。

受信サーバーでdf -hを使用して、ファイルシステムがいっぱいかどうかを確認できます。

wgetのタイムアウトの問題については、この回答をご覧ください。

/programming/2291524/does-wget-timeout

また、失敗した転送を再試行し、-Nタイムスタンプオプションを省略します

また、ulimit -aを実行して、受信サーバーにファイルサイズの制限があるかどうかを確認します。


私は専門家ではありませんが、CentOS 6を実行していると思います。また、文字表現を確認する方法がわかりません。それはダウンロードを開始し、他の小さなファイルをうまくダウンロードしますが、問題のようには思えません。
ジョンメラー

ダウンロードに成功したファイルの名前に面白い文字が含まれていますか?
-DisgruntledUser

いいえ、ドットが奇妙な文字(「megapack_4.11.zip」など)でない限り、奇妙な文字はまったくありません。しかし、再び「bigfile.zip」という名前で試してみましたが、同じ問題が発生します。
ジョンメラー

多分それはUTF-8とは異なる文字表現に設定されている唯一のパテです
DisgruntledUser

ええ、私は本当にそれが問題だとは思わない、私はちょうど私がコピーして、パテから貼り付けていたときにそれを言及した。書くことができない本当の問題。
ジョンメラー


0

私は次のようなことをしていました:

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

私は受け取っていました:

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

私の同等のfilelist.txtファイルには、次のようなURLがありました。

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

デバッグするために、wgetが作成しようとしていた同じファイルを作成しようとしました:

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

ビオラ!これは?問題のように見えますが、ファイル名からすべての特殊文字を削除し、&エスケープされない場合の動作を想像することをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.