web-dev-qa-db-ja.com

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

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

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

-x =ディレクトリ構造を保持したいので

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

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

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

ただし、5 GBの別のファイルは203 MBをダウンロードしてから停止するだけです(常に203 MBで数キロバイトが必要です)

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

「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 /秒

「domain.com/path/to/file.Zip」に書き込めません

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

なぜ停止するのか、どうすればそれを修正できるのか、誰か知っていますか?

どんな助けでも最も高く評価されます。

編集:私はまた、wgetを実行し、ファイルを入力せずにファイルの名前を変更しようとしました。今回は3GB強をダウンロードし、同じ書き込みエラーを表示します。

wget -x -N http://domain.com/path/to/file.Zip -O files/bigfile.Zip
13
John Mellor

最後にそれを理解し、それはスペースの問題でした。 1and1クラウドサーバーの問題です。詳しくはこちらをご覧ください http://www.mojowill.com/geek/1and1-dynamic-cloud-server-disk-allocation/

0
John Mellor

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

7
Sun

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

4
Namchester

Wgetの後のパイプの後に-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
1
shadi

このコマンドで同じエラーが発生しました:

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

問題は2番目のコマンドのSudoであり、私はそれを次のように解決します:

Sudo su
0
Behnam Heydari

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

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

Wgetのタイムアウトの問題については、この回答を確認してください。

https://stackoverflow.com/questions/2291524/does-wget-timeout

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

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

0
DisgruntledUser

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

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

ビオラ! ?が問題だったようですが、ファイル名からすべての特殊文字を削除して、エスケープされなかった場合の&の動作を想像してください。

0
nikc