Senin, 21 Desember 2009

Membuat mirror update anti virus AVG8FREE

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.

Tidak ada komentar:

Posting Komentar