Ini adalah contoh paling sederhana menjalankan wget:
wget http://www.example.com/images/misc/pic.png
tetapi bagaimana membuat unduhan unduhan wget jika pic.png
sudah tersedia?
Ini adalah contoh paling sederhana menjalankan wget:
wget http://www.example.com/images/misc/pic.png
tetapi bagaimana membuat unduhan unduhan wget jika pic.png
sudah tersedia?
Jawaban:
Coba parameter berikut:
-nc
,--no-clobber
: lewati unduhan yang akan mengunduh ke file yang ada.
Penggunaan sampel:
wget -nc http://example.com/pic.png
[ ! -e "$(basename $URL)" ] && wget $URL
--recursive
opsi.
The -nc
, --no-clobber
pilihan adalah bukan solusi terbaik sebagai file baru tidak akan diunduh. Orang harus menggunakan -N
yang akan mengunduh dan menimpa file hanya jika server memiliki versi yang lebih baru, jadi jawaban yang benar adalah:
wget -N http://www.example.com/images/misc/pic.png
Kemudian menjalankan Wget dengan -N, dengan atau tanpa
-r
atau-p
, keputusan untuk mengunduh salinan file yang lebih baru tergantung pada timestamp lokal dan jarak jauh serta ukuran file.-nc
mungkin tidak ditentukan secara bersamaan dengan-N
.
-N
,--timestamping
: Nyalakan pencetakan waktu.
-N
mungkin gagal dan wget akan selalu mengunduh ulang. Jadi terkadang -nc
solusi yang lebih baik.
wget
akan mengeluh Last-modified header missing
; ini persis situasi yang diuraikan.
Saat menjalankan Wget dengan -r
atau -p
, tetapi tanpa -N
,, -nd
atau -nc
mengunduh ulang file akan menghasilkan salinan baru hanya dengan menimpa yang lama.
Jadi menambahkan -nc
akan mencegah perilaku ini, alih-alih menyebabkan versi asli dipertahankan dan salinan yang lebih baru di server diabaikan.
Jawaban yang saya cari adalah di https://unix.stackexchange.com/a/9557/114862 .
Menggunakan
-c
bendera ketika file lokal berukuran lebih besar atau sama dengan versi server akan menghindari mengunduh ulang.
wget -i filelist.txt -c
akan melanjutkan pengunduhan daftar file yang gagal.
-nc
tidak mencegah pengiriman permintaan HTTP dan pengunduhan file selanjutnya. Hanya tidak melakukan apa-apa setelah mengunduh file jika file tersebut telah sepenuhnya diambil. Apakah ada cara untuk mencegah membuat permintaan HTTP jika file sudah ada? stackoverflow.com/questions/33203898/…