回答:
次のパラメータを試してください。
-nc
、--no-clobber
:既存のファイルにダウンロードするダウンロードをスキップします。
使用例:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursive
オプションを使用しているため、結果が異なる可能性があります。
-nc
、--no-clobber
新しいファイルがダウンロードされませんようオプションが最善の解決策ではありません。一つは、使用する必要があり-N
、サーバが新しいバージョンを持っている場合にのみ、ファイルをダウンロードし、上書きされている代わりに、その正しい答えは次のとおりです。
wget -N http://www.example.com/images/misc/pic.png
その後の有無にかかわらず、-NでのWgetを実行する
-r
か-p
、ファイルの新しいコピーをダウンロードするか否かの判断は、ファイルのローカルおよびリモートのタイムスタンプとサイズによって異なります。-nc
と同時に指定することはできません-N
。
-N
、--timestamping
:タイムスタンプをオンにします。
-N
ない場合、失敗する可能性があり、wgetは常に再ダウンロードします。時々-nc
より良い解決策です。
wget
文句を言うでしょうLast-modified header missing
。これはまさに概説された状況です。
とにWgetを実行している場合-r
や-p
、しかしなし-N
、-nd
または-nc
、再ダウンロードするファイルは、新しいコピーは、単に古いものを上書きになります。
その-nc
ため、追加するとこの動作が防止され、代わりに元のバージョンが保持され、サーバー上の新しいコピーは無視されます。
私が探していた答えはhttps://unix.stackexchange.com/a/9557/114862です。
-c
ローカルファイルのサイズがサーバーバージョンと同じかそれより大きい場合にフラグを使用すると、再ダウンロードを回避できます。
wget -i filelist.txt -c
失敗したファイルのリストのダウンロードを再開します。
-nc
HTTPリクエストの送信とその後のファイルのダウンロードを妨げません。ファイルが完全に取得されている場合、ファイルをダウンロードした後は何もしません。ファイルがすでに存在する場合に、HTTPリクエストを実行しないようにする方法はありますか?stackoverflow.com/questions/33203898/…–