Ini adalah contoh paling sederhana menjalankan wget:
wget http://www.example.com/images/misc/pic.png
tetapi bagaimana membuat unduhan unduhan wget jika pic.pngsudah 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.pngsudah 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
--recursiveopsi.
The -nc, --no-clobberpilihan adalah bukan solusi terbaik sebagai file baru tidak akan diunduh. Orang harus menggunakan -Nyang 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
-ratau-p, keputusan untuk mengunduh salinan file yang lebih baru tergantung pada timestamp lokal dan jarak jauh serta ukuran file.-ncmungkin tidak ditentukan secara bersamaan dengan-N.
-N,--timestamping: Nyalakan pencetakan waktu.
-Nmungkin gagal dan wget akan selalu mengunduh ulang. Jadi terkadang -ncsolusi yang lebih baik.
wgetakan mengeluh Last-modified header missing; ini persis situasi yang diuraikan.
Saat menjalankan Wget dengan -ratau -p, tetapi tanpa -N,, -ndatau -ncmengunduh ulang file akan menghasilkan salinan baru hanya dengan menimpa yang lama.
Jadi menambahkan -ncakan 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
-cbendera ketika file lokal berukuran lebih besar atau sama dengan versi server akan menghindari mengunduh ulang.
wget -i filelist.txt -cakan melanjutkan pengunduhan daftar file yang gagal.
-nctidak 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/…