wget merupakan salah satu command di linux yang digunakan untuk download file. Untuk penggunakannya, kita bisa menggunakan perintah :

wget https://tixoez.my.id/file.zip

Tetapi penggunaan perintah itu, kita hanya bisa mendownload 1 buah file saja.

Agar kita bisa download beberapa file sekaligus, kita bisa membuat script shell, yang nantinya, saat download beberapa file kita hanya menjalankan 1 buah perintah saja.

Berikut beberapa langkah untuk membuat scriptnya :

  1. buat script shell

    #!/bin/bash
    while read file; do
    wget ${file}
    done < files.txt

  2. setelah itu kita buat list link download dan kita kasih nama files.txt

    https://tixoez.my.id/file1.zip
    https://tixoez.my.id/file2.zip
    https://tixoez.my.id/file3.zip

  3. jalankan script shell tersebut

Tetapi permasalahan dengan script tersebut, meskipun kita hanya menjalankan 1 perintah saja, tetapi proses downloadnya akan tetap berjalan satu-satu (antri dari list paling atas, setelah selesai baru download di list dibawahnya)

Agar kita bisa download secara bersamaan kita bisa merubah script tersebut menjadi :

#!/bin/bash
while read file; do
wget ${file} &
done < files.txt


perintah wget akan bercalan di background, tetapi kita tidak bisa memonitornya.
Agar dapat di monitor, kita bisa mengganti parameter & menjadi -b

#!/bin/bash
while read file; do
wget ${file} -b
done < files.txt


dengan script diatas, akan muncul file baru di folder dengan nama wget-log sejumlah link yang kita masukkan di file daftar link.
untuk memonitor proses download kita bisa cek di file tersebut

tail -f wget-log

maka akan muncul berapa persen download berjalan.

4142550K ………. ………. ………. ………. ………. 99% 2.53M 0s
4142600K ………. ………. ………. ………. ………. 99% 2.67M 0s
4142650K ………. ………. ………. ………. ………. 99% 2.57M 0s
4142700K ………. ………. ………. ………. ………. 99% 3.10M 0s
4142750K ………. ………. ………. ………. ………. 99% 2.67M 0s
4142800K ………. ………. ………. ………. ………. 99% 2.42M 0s
4142850K ………. ………. ……..                        100% 2.14M=72m4s
2021-10-16 16:17:16 (958 KB/s) – ‘file1.zip’ saved [4242307072/4242307072]