jump to navigation

Mendownload seluruh isi web – WGET Oktober 23, 2009

Posted by Budi in Linux.
Tags: , , , , , , , , , , , , , , , , ,
trackback

mendownload seluruh isi web
wget -r http://www.slackerbox.com (download semua file di slackerbox.com)

Langkah pertama, buat sebuah file (misalkan namanya list.txt) yang isinya list URL file-file yang ingin di-download. Contohnya kaya gini :

http://ftp5.gwdg.de/pub/opensuse/distribution/10.3/iso/cd/openSUSE-10.3-GM-GNOME-i386.iso

http://ftp5.gwdg.de/pub/opensuse/distribution/10.3/iso/cd/openSUSE-10.3-GM-KDE-i386.iso

http://ftp5.gwdg.de/pub/opensuse/distribution/10.3/iso/cd/openSUSE-10.3-GM-GNOME-x86_64.iso

http://ftp5.gwdg.de/pub/opensuse/distribution/10.3/iso/cd/openSUSE-10.3-GM-KDE-x86_64.iso

http://ftp5.gwdg.de/pub/opensuse/distribution/10.3/iso/cd/openSUSE-10.3-GM-Addon-NonOss-BiArch.iso

Dicontoh ini saya ingin men-download 5 file cd-iso installer openSuSE Linux 10.3. Perhatikan bahwa saya men-download-nya dari sebuah http server (bukan ftp!). Untuk mendapatkan complete URL sebuah file, cukup letakkan cursor di atas link file tersebut. Lalu klik kanan, ‘Copy Shortcut‘ (di IE) atau ‘Copy Link Location‘ (Firefox), lalu paste ke file list.txt tadi. Save file tersebut di suatu tempat, katakanlah di $WDIR/list.txt. Letakkan program wget di tempat yang sama, tapi bisa juga diletakkan di tempat yang berbeda, asalkan path-nya di set ke tempat tersebut.

Mulailah men-download dengan mengetikkan perintah :

wget –wait 5 -i $WDIR/list.txt -P $WDIR/download

Maksud dari perintah di atas adalah download semua file yang ada di list.txt, lalu letakkan hasil download ke direktori download, dan berikan jeda 5 detik untuk tiap proses download. Sangat penting untuk memberikan jeda (–wait) pada saat men-download. Jangan egois dengan men-download membabi buta. Beri kesempatan pada server untuk ‘bernafas’ sejenak sebelum anda ‘menyedotnya’ lagi ! Perlu diingat bahwa ftp protokol akan membuat sebuah koneksi baru setiap kali men-download file. Karena itu, semakin banyak file yang di-download, semakin lama waktu yang diperlukan untuk men-download-nya meskipun ukuran filenya kecil. Men-download 10 file berukuran 1 Mb, biasanya lebih lama daripada men-download 1 file berukuran 10 Mb.

Di Unix, perintah di atas dijalankan di atas shell, sedangkan di Windows dijalankan dengan command prompt. Jangan lupa menambahkan ekstensi .exe untuk wget versi Windows.

Selanjutnya, agar proses download berjalan di ‘belakang’ (batch), maka kita harus membuat sebuah shell script (di Unix) atau batch file (di Windows). Contohnya sebagai berikut :

Unix (sh script – down.sh)
#! /bin/sh
wget -c –wait=5 -P /dewa108/work/download -i /dewa108/work/list.txt

Windows (batch script – down.bat)
wget.exe -c –wait=5 -P D:\dewa108\work\download -i D:\dewa108\work\list.txt

Di script ini saya tambahkan opsi -c agar file di-download secara continous. Artinya jika belum complete, file itu akan terus coba di-download. Ada berbagai opsi tambahan untuk menjalankan wget. Tapi ada beberapa opsi yang sering saya gunakan, di antaranya :

–no-passive-ftp : agar proses download tidak dilakukan seperti www browser (passive)
-nc: no clobber, agar file yang sudah di-download tidak di download lagi
–no-proxy : agar proses download tidak menggunakan proxy yang sudah di set (di file .wgetrc)
–http-user
–http-password : digunakan jika web server tempat file berada menggunakan autentikasi (user dan password)
Masih banyak opsi lain untuk wget. Silakan membaca manual wget untuk lebih jelasnya.

Lanjut ke shell dan batch script tadi. Untuk batch script, ekstensinya harus .bak, sedangkan shell script bebas, biasanya tergantung shell yang digunakan. Khusus untuk shell script, file-nya harus di chmod terlebih dahulu agar menjadi executable.

chmod 755 down.sh

Lalu jalankan script tersebut dengan menggunakan perintah :

at -f down.sh now

‘now‘ bisa diganti dengan ‘11 pm’ atau waktu lainnya sesuai yang diinginkan, asalkan formatnya menggunakan waktu 12 jam (ada am dan pm). Untuk mengecek apakah script sudah berjalan, ketik saja ps ax di shell. Harusnya ada line wget yang berjalan. Cek juga direktori download, apakah sudah ada file yang ter-download. Untuk Windows, jalankan saja down.bak lewat Schedule Tasks. Scheduled Tasks ada di Start > All Programs > Accessories > System Tools. Ikuti saja wizard-nya.

Kombinasi antara wget dan Scheduled Task, bisa juga digunakan untuk meng-update antivirus secara otomatis, seperti yang saya terapkan di komputer lab. Server mirror database antivirus sudah disediakan oleh kampus saya (ITB), jadi saya cukup men-download-nya dari situ. Lumayan kan, bisa menghemat bandwith. Apalagi di jaringan internet kampus memakai proxy, jadi susah menggunakan autoupdater yang disediakan oleh antivirus tersebut.

Komentar»

No comments yet — be the first.