Tutorial ini merupakan kelanjutan dari tulisan ini, maka sebaiknya anda baca terlebih dahulu tulisan tersebut, kemudian baru melanjutkan ke tutorial yang ini.
1. Membuat direktori sementara (temporary directory) untuk proses download dan masuk pada direktori tersebut
lqman@constantine:~$ mkdir -p /mnt/website/update/avg8free/inprogress/
lqman@constantine:~$ cd /mnt/website/update/avg8free/inprogress/
2. Mendonlod halaman awal pada bagian update
lqman@constantine:~$ wget -c http://free.grisoft.com/ww.download-update -O /mnt/website/update/avg8free/inprogress/donlod.html
3. Parsing text dari file donlod.html
Pada halaman awal yg sudah kita donlod, ada link yang akan menunjukkan pada kita letak file updater yg sebenarnya, cuman kita harus sedikit melakukan rekayasa, sehingga keinginan kita bisa dilakukan secara otomatis. Dari file donlod.html yang harus diambil adalah baris yang mengandung tulisan .bin
lqman@constantine:~$ cat donlod.html | grep .bin | cut -d '=' -f8 > donlod2.html
lqman@constantine:~$ cat donlod2.html | cut -d '"' -f2 > donlod3.html
untuk menguji apakah script kita diatas sdh sesuai dg yg kita inginkan, kita harus melihat file donlod3.html yg baru saja dihasilkan.
lqman@constantine:~$ cat /mnt/website/update/avg8free/inprogress/donlod3.html
http://free.avg.com/softw/80free/update/f8all237ns.bin
http://free.avg.com/softw/80free/update/x8all110io.bin
http://free.avg.com/softw/80free/update/u7avi1481pm.bin
http://free.avg.com/softw/80free/update/u7iavi2046pm.bin
4. Hitung banyak file yg hrs d donlod = banyak baris pd donlod3.html
lqman@constantine:~$ jmlbrs=`wc donlod3.html | awk '{print $1}'`
5. Mendefinisikan nama file yg akan di download
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
6. Mulai donload tiap baris
lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`; done
7. Membersihkan file temporary dan memindahkan update-an ke tempat yg sebenarnya
lqman@constantine:~$ rm -f /mnt/website/update/avg8free/*.*
mv /mnt/website/update/avg8free/inprogress/*.bin /mnt/website/update/avg8free/
rm -rf /mnt/website/update/avg8free/inprogress
8. Memperbaharui tanggal direktori
Perbaharuan tanggal direktori ini sengaja dilakukan untuk mempermudah kita mengetahui kapan update terakhir dilakukan.
lqman@constantine:~$ touch /mnt/website/update/avg8free/
9. Setting permission
lqman@constantine:~$ chown -R lqman:lqman /mnt/website/update/avg8free/
10. Jadikan file tsb dalam satu script
lqman@constantine:~$ touch /home/lqman/script-mirror/avg8free.sh
lqman@constantine:~$ mcedit /home/lqman/script-mirror/avg8free.sh
#!/bin/bash
mkdir -p /mnt/website/update/avg8free/inprogress/
cd /mnt/website/update/avg8free/inprogress/
wget -c http://free.grisoft.com/ww.download-update -O /mnt/website/update/avg8free/inprogress/donlod.html
cat donlod.html | grep .bin | cut -d ‘=’ -f8 > donlod2.html
cat donlod2.html | cut -d ‘”‘ -f2 > donlod3.html
cat /mnt/website/update/avg8free/inprogress/donlod3.html
jmlbrs=`wc donlod3.html | awk ‘{print $1}’`
for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile
for i in `seq 1 $jmlbrs`; do wget -c `head -n $i donlod3.html | tail -n 1` -O `head -n $i namafile | tail -n 1`; done
rm -f /mnt/website/update/avg8free/*.*
mv /mnt/website/update/avg8free/inprogress/*.bin /mnt/website/update/avg8free/
rm -rf /mnt/website/update/avg8free/inprogress
touch /mnt/website/update/avg8free/
11. Jadikan script avg8free.sh mempunyai mode executable
lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avg8free.sh
12. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
lqman@constantine:~$ crontab -e
# daily update avg8free by LQman every 21:00
0 21 * * * /home/lqman/script-mirror/avg8free.sh
Beres, selamat menikmati mirror update avg8free.
Senin, 21 Desember 2009
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar