Home > mirror antiviruz, win-DOWER > Membuat mirror update anti virus AVG7FREE

Membuat mirror update anti virus AVG7FREE

Sebelum membaca turorial ini, anda saya anggap sudah terbiasa dengan bash scripting languange, dan tools2 konsole lainnya. Ingat, sifat dari tulisan adalah seperti biasanya, yaitu ABSOLUTELY NO WARRANTY 🙂 dan akan sewaktu2 menjadi tidak bisa di implementasikan apabila website yg bersangkutan (http://www.grisoft.com/ww.download-update-7), melakukan perubahan hierarki direktori / file-nya.
Sebagai tambahan saja, tutorial ini cocok di implementasikan pada LAN yang cukup middle/besar, dan tidak cocok utk digunakan pada LAN yang kecil karena hanya kan memboroskan bandwidth saja.

Pada dasarnya tutorial ini adalah simple shell script biasa yang fungsinya untuk melakukan parsing text pada file .html, intinya kita ingin mengetahui sebenarnya letak dari file update yg disediakan oleh http://www.grisoft.com/ww.download-update-7, untuk itu kita bisa melakukan langkah2 sbb :

  1. Membuat direktori sementara (temporary directory) untuk proses download
  2. lqman@constantine:~$ mkdir -p /mnt/website/update/avg7free/inprogress/
    lqman@constantine:~$ cd /mnt/website/update/avg7free/inprogress/

  3. Mendonlod halaman awal pada bagian update dari www.grisoft.com
  4. lqman@constantine:~$ wget -c http://www.grisoft.com/ww.download-update-7 -O /mnt/website/update/avg7free/inprogress/donlod.html

  5. Parsing text dari file donlod.html
  6. 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'=' -f6 > donlod2.html
    lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f8 >> donlod2.html
    lqman@constantine:~$ cat donlod.html | grep .bin | cut -d'=' -f9 >> donlod2.html
    lqman@constantine:~$ cat donlod2.html | grep "http:" | 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/avg7free/inprogress/donlod3.html

    http://www.avg.com/softw/70/update/u7fbsd5291.bin
    http://www.avg.com/softw/70/update/u7avi1386g2.bin
    http://www.avg.com/softw/70/update/u7iavi17514m.bin
    http://www.avg.com/softw/70/update/antispy/u7aspydb2035he.bin
    http://www.avg.com/softw/70/update/u7f549yg.bin
    http://www.avg.com/softw/70/update/u7fw533yh.bin
    http://www.avg.com/softw/70/update/u7lx5298.bin
    http://www.avg.com/softw/70/update/u7aspam510yb.bin
    http://www.avg.com/softw/70/update/antispy/u7aspy494yb.bin
    http://www.avg.com/softw/70/update/u7setup533yc.bin
    http://www.avg.com/softw/70/update/u7avi1386u1323g2.bin
    http://www.avg.com/softw/70/update/u7avi1386u1382g2.bin
    http://www.avg.com/softw/70/update/antispy/u7aspydb3143u2246p1.bin
    http://www.avg.com/softw/70/update/antispy/u7aspydb2246u2035zl.bin

  7. Hitung banyak file yg hrs d donlod = banyak baris pd donlod3.html
  8. lqman@constantine:~$ jmlbrs=`wc donlod3.html | awk '{print $1}'`

  9. Mendefinisikan nama file yg akan di download
  10. lqman@constantine:~$ for i in `seq 1 $jmlbrs`; do basename `head -n $i donlod3.html | tail -n 1`; done > namafile

  11. Mulai donload tiap baris
  12. 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

  13. Membersihkan file temporary dan memindahkan update-an ke tempat yg sebenarnya
  14. lqman@constantine:~$ rm -f /mnt/website/update/avg7free/*.*
    lqman@constantine:~$ mv  /mnt/website/update/avg7free/inprogress/*.bin /mnt/website/update/avg7free/
    lqman@constantine:~$ rm -rf /mnt/website/update/avg7free/inprogress

  15. Memperbaharui tanggal direktori
  16. Perbaharuan tanggal direktori ini sengaja dilakukan untuk mempermudah kita mengetahui kapan update terakhir dilakukan.
    lqman@constantine:~$ touch /mnt/website/update/avg7free/

  17. Setting permission
  18. lqman@constantine:~$ chown -R lqman:lqman /mnt/website/update/avg7free/

  19. Jadikan file tsb dalam satu script
  20. lqman@constantine:~$ touch /home/lqman/script-mirror/avg7free.sh
    lqman@constantine:~$ mcedit /home/lqman/script-mirror/avg7free.sh

    #!/bin/bash

    mkdir -p /mnt/website/update/avg7free/inprogress/
    cd /mnt/website/update/avg7free/inprogress/
    wget -c http://www.grisoft.com/ww.download-update-7 -O /mnt/website/update/avg7free/inprogress/donlod.html
    cat donlod.html | grep .bin | cut -d’=’ -f6 > donlod2.html
    cat donlod.html | grep .bin | cut -d’=’ -f8 >> donlod2.html
    cat donlod.html | grep .bin | cut -d’=’ -f9 >> donlod2.html
    cat donlod2.html | grep “http:” | cut -d ‘”‘ -f2 > donlod3.html
    cat /mnt/website/update/avg7free/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
    $donlod `head -n $i donlod3.html | tail -n 1`$magic -O `head -n $i namafile | tail -n 1`
    done
    rm -f /mnt/website/update/avg7free/*.*
    mv  /mnt/website/update/avg7free/inprogress/*.bin /mnt/website/update/avg7free/
    rm -rf /mnt/website/update/avg7free/inprogress
    touch /mnt/website/update/avg7free/
    chown -R lqman:lqman /mnt/website/update/avg7free/

  21. Jadikan script avg7free.sh mempunyai mode executable
  22. lqman@constantine:~$ chmod +x /home/lqman/script-mirror/avg7free.sh

  23. Jadikan proses update ini berulang sesuai periode yg anda inginkan dengan memasukkannya pada crontab.
  24. lqman@constantine:~$ crontab -e

    # daily update avg7free by LQman every 21:00
    0 21 * * * /home/lqman/script-mirror/avg7free.sh

Beres, selamat menikmati mirror update avg7free.

Referensi :
man wget, dan teman2 gila-ku 🙂

Script :
avg7free.sh

Hasil:
http://mirror.ee.its.ac.id/update/avg7free/

Advertisements
  1. 2 November 2008 at 12:01 pm

    Tes

    Jawab :
    Boloku sing siji iki memang suka nge-test only.

  2. 16 November 2008 at 4:34 pm

    kulonuwunn mas LQman..
    wushhh (saya bukan superman kok cuman calon aja. hahaha)
    numpang lewat

    Jawab :
    Ok deady, saya sdh paham kalo ente bukan superman, hanya saja superTALL.
    Tul gak? 😀

  3. 17 November 2008 at 6:53 pm

    Seperti biasa….
    Bahasa langitan. :mrgreen:

    Jawab :
    Sptnya dia mulai memahami diriku 😀
    *tafahum mode ON*

  4. 22 November 2008 at 6:32 am

    hwahahaha
    superTall..
    boleh tuh mas..

    karena bahasa blog sampeyan rada abot
    ta’link yo mas (lho apa hubungannya??? hihihi)

  5. sriher
    6 December 2008 at 2:33 am

    setelah tahap ke 6 kok munculnya
    “no such file or directory”

    Jawab :
    mohon perhatikan lagi, tulis syntax diatas dengan teliti jangan hanya kopi-paste, karena tanda petik di wordpress SAMASEKALI BERBEDA dengan konsole pada linux.
    mohon perhatikan pada tanda ` [sblh kiri angka 1] yang berbeda dengan ‘ [sblh kiri enter].
    Pada tulisan ini, SAYA TIDAK PERNAH MENGGUNAKAN tanda ‘ [sblh kiri enter]
    Otre ?

  6. sriher
    9 December 2008 at 2:16 am

    Iya sudah aku lakukan, dengan nmenggunakan ` (diatas tab pada keyboard) bukan tanda ‘ (disebelah kiri enter pada keyboard)
    ini script yg aku salin/edit sampai tahapan 6
    tahap 1 s/d 5 lancar, tahap 6nya masalah
    —————
    for i in `seq 1 $jmlbrs`
    do
    $download `head -n $i download3.html | tail -n 1`$magic -O `head -n $i namafile | tail -n 1`
    done
    ————–

    oiya sorry ada yg terlewat setelah saya cek lagi, yaitu variabel $download dan $magic belum di definisikan, oleh karena itu, saya benerkan dulu yaa script diatas, trima kasih atas pemberitahuannya.

  7. sriher
    10 December 2008 at 2:34 am

    Terima-kasih atas emailnya sudah bisa, hanya saja ketika saya lihat link sourcenya di avg (http://free.avg.com/download-update) total file yg bisa di download ada 4 yaitu link :
    1. http://free.avg.com/softw/80free/update/f8all176sz.bin
    2. http://free.avg.com/softw/80free/update/x8all72me.bin
    3. http://free.avg.com/softw/80free/update/u7avi1405ub.bin
    4. http://free.avg.com/softw/80free/update/u7iavi1840ub.bin

    , tetapi ketika saya melakukan download lewat perintah:
    —————
    for i in `seq 1 $jmlbrs`
    do
    $download `head -n $i download3.html | tail -n 1`$magic -O `head -n $i namafile | tail -n 1`
    done
    ————–
    dan saya cek hasil downloadnya, kok banyak sekali (saya kirim lewat email capture-nya)
    Kenapa yaa, mohon pencerahan, terima-kasih sebelumnya.

    Jawab :
    Itu karena saya mendownloadkan update avg7free (http://free.avg.com/download-update-7), sedangkan link yg anda tulis itu adlh update utk avg8.
    Serta saya mendownloadkan semua (priority, recommended, optional) update-nya utk semua platform (windows, linux, BSD).
    otre 🙂

  8. sriher
    10 December 2008 at 3:26 am

    Terima-kasih, sudah bisa jalan

    very great

    nunggu update antivirus yg lain deh,

    regard’s
    sriher

  9. sriher
    10 December 2008 at 4:55 am

    Terima-kasih Mas, udah jalan baik di avg maupun symantec, terus mau nanya nih
    gimana caranya supaya setiap ada update terbaru, ada notifikasi/pemberitahuan ke email kita.

    wah kalau ada asyik banget, jadi kita bisa pastiin udah ada update terbaru diserver lokal kita

  10. 13 March 2009 at 9:26 am

    mas kalau script sampeyan bisauntuk avg8 ga ?

    Jawab :
    Gak bisa bro, fungsi script tsb sangat spesifik.
    Tapi klo anda mau oprek sendiri juga bisa koq.
    Saya sbtulnya sdh mbuat script yg untuk avg8free, tp belum sempat nulis aja.
    http://mirror.ee.its.ac.id/update/avg8free/

  1. 13 January 2009 at 12:21 pm
  2. 7 April 2009 at 8:16 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: