Posts Tagged ‘ cpanel ’

Membuat Mirror Update ESET NOD32 Versi 4 di Linux (Shell/Bash)

Kedengarannya agak nyeleneh memang. Membuat mirror update Antivirus di Linux, tapi yang menggunakan update tersebut Komputer Windows (Walaupun ada juga ESET untuk Linux). Tapi memang begitulah, kadang kita membutuhkan bantuan Linux untuk membantu Windows. Pada tutorial kali ini saya akan memasang script di Webhosting. Sehingga nantinya bisa diakses oleh siapa saja. Sejauh ini saya baru menemukan 3 buah bahasa pemrograman untuk membuat update mirror ESET NOD32, yaitu : shell/bash, PHP dan Ruby. Sebenarnya kita bisa menggunakan Bahasa pemrograman apa saja untuk membuat mirror ini. Ketiga script bahasa pemrograman tersebut nantinya akan saya bahas semua nya, tapi untuk pemanasan, saya akan membahas yang menggunakan Shell terlebih dahulu.

Adapun Kelebihan dan kekurangan script ini dibandingkan dengan script PHP & Ruby adalah.

Kelebihan :

  • Langsung bisa dijalankan, hanya tinggal setting Crontab.
  • Ringan dan lebih cepat dibanding PHP dan Ruby (menurut saya ini lho), Karena trik download menggunakan WGET.
  • Hampir bisa dijalankan di semua Webhosting yang menggunakan OS Linux.
Kekurangan :
  • Belum bisa terintegrasi dengan database. (Mudah-mudahan di versi berikutnya bisa terintegrasi dengan Database, supaya mudah dalam perubahan Username dan Password).
  • Belum support notifikasi lewat Email & SMS jika update berhasil atau gagal. (Mudah-mudahan di versi berikutnya fitur ini sudah didukung, karena yang versi PHP sudah saya tambahkan kedua fitur ini).
  • Hanya jalan di Linux (Lha wong judulnya juga bikin di Linux :D). Tapi versi PHP dan Ruby bisa jalan di Windows.
  • Belum bisa cek Expired Date Username. (di versi PHP sudah saya tambahkan fitur ini).
Okey, sekarang hal-hal yang perlu disiapkan atau dibutuhkan.
  • Langganan Webhosting dengan Bandwidth Unlimited dan OS Linux (tentunya) atau bisa di coba di PC Linux.
  • Jika dipasang di Webhosting, Free Space di Webhosting minimal 200MB (Karena kita akan Download semua module update dan semua versi termasuk Business Edition 32 & 64 bit, Smart Security 32 & 64 bit dan support bahasa).
  • Sedikit pengetahuan tentang programming, Linux dan cPanel.
  • Jika menggunakan Webhosting, sebaiknya menggunakan cPanel.
  • Download aplikasi unrar. Nanti akan digunakan untuk melakukan ekstrak file update.ver.
Kita mulai dengan download scriptnya di bagian bawah dan jangan lupa download juga aplikasi unrar, kemudian ekstrak kedu file tersebut. Langkah demi langkah yang saya lakukan untuk memasang script adalah sebagai berikut :
  • Buat direktori baru di /home/nama_user. Beri nama direktori tersebut dengan nama “bin”, sehingga nanti akan muncul direktori
/home/nama_user/bin.
  • Upload file nodupdate.sh dan unrar ke direktori /home/nama_user/bin.
  • Lakukan chmod/permission kepada kedua file tersebut menjadi 755 lewat file manager.
  • Buat direktori baru lagi di /home/nama_user/public_html. Beri nama direktori tersebut dengan nama “nod_upd”, sehingga akan ada direktori baru, yaitu
/home/nama_user/public_html/nod_upd.
  • Buatlah Crontab/Cron Job sesuai dengan kebutuhan anda. (Saya menggunakan interval eksekusi setiap 30 menit). Pada saat debugging, mungkin pada awalnya kita bisa mengeset sesuai keinginan kita.

Cron Job

  • Cek apakah file update sudah terbentuk di :
/home/nama_user/public_html/download

  • Jika masih gagal, cek Log file. Disitu ada keterangan kenapa gagal. Log file ini saya taruh di
/home/nama_user/tmp/nodsh.log.

Jangan lupa ganti yuor_name atau nama_user dengan nama yang digunakan untuk login di cPanel, dengan Hasil dari tutorial ini bisa anda lihat pada website http://smart-ics.com/nod_upd. Anda bisa mencoba untuk melakukan update ESET anda ke link tersebut (mumpung masih saya open :D).

File-file yang di butuhkan (download) :
   – Bug fixed, Penambahan parameter (-y) pada saat ekstrak.
Script diatas saya peroleh dari forum http://ashus.ashus.net/viewtopic.php?f=16&t=68 dengan beberapa perubahan sesuai dengan kebutuhan saya. Anda juga diperkenankan untuk mengubahnya sendiri sesuai dengan keinginan anda.
Terima kasih banyak saya ucapkan kepada saudara Ashus yang telah memberi banyak inspirasi 😀

Script Auto Backup Database MySQL pada cPanel

Kemarin sempat browsing cara backup database MySQL lewat Cron Jobs yang tersedia pada linux dan disediakan juga di cPanel. Ternyata langkah yang harus dilakukan tidak terlalu sulit. Bisa langsung menggunakan perintah yang langsung di tulis di Cron Jobs atau dengan cara membuat script. Script yang saya buat disini menggunakan Shell/Bash.

Oke langsung saja.

    1. Terlebih dahulu sebuah buatlah folder backup pada user yg bersangkutan
    2. Kemudian buatlah script untuk backup database MySQL. Disini saya tuliskan script lengkap yang telah saya buat dan nanti akan saya jelaskan satu persatu.
#!/bin/sh
tanggal=`date '+%Y%m%d_%H%M%S'`;
path="/home/user/backup";
find $path/ -mtime +2 -type f -exec rm -rf {} \;
sleep 30;
mysqldump -u userdb -ppassdb namadb | gzip > $path/namadb_$tanggal.gz
    1. Simpan script tersebut dan berilah nama backup.sh
    2. Upload dan letakkan file tersebut pada direktori /bin pada cPanel.
    3. Ubah permission nya menjadi 755.
    4. Masuk ke Cron Jobs, pada menu Add New Cron Job, kemudian setting waktu yang diinginkan untuk melakukan backup.
    5. Pada form Command, masukkan perintah
sh /home/user/bin/backup.sh
  1. Klik tombol “Add New Cron Job”.
  2. Untuk mencoba apakah script yang kita buat berjalan atau tidak, sebaiknya setting waktu waktu eksekusi di Cron Jobs tadi menjadi “Every Minute”, nanti jika script nya sudah berjalan dengan lancar baru ubah lagi sesuai dengan yang diinginkan.

Penjelasan Script

tanggal=`date '+%Y%m%d_%H%M%S'`;

Adalah variabel yang mengambil tanggal pada waktu script di eksekusi, sehingga nama database akan selalu berbeda, sesuai dengan tanggal dan jam backup.

path="/home/user/backup";

Folder dimana database hasil backup akan di simpan.

find $path/ -mtime +2 -type f -exec rm -rf {} \;

Script diatas berfungsi untuk mencari file di dalam folder $path (/home/user/backup) yang mempunyai umur lebih dari 2 hari dari sekarang. Jika file yang dimaksud ditemukan, kemudian file tersebut di delete. Silahkan ubah +2 sesuai dengan kebutuhan anda.

sleep 30;

Digunakan untuk menunggu waktu delete dan waktu backup, supaya tidak berbarengan. 30 adalah dalam detik. Mungkin script ini tidak diperlukan jika database yang didelete kecil atau sedikit. Tapi jika database yang akan didelete besar dan banyak, sebaiknya script ini ditambahkan supaya tidak terlalu memberatkan server.

mysqldump -u userdb -ppassdb namadb | gzip > $path/namadb_$tanggal.gz

mysqldump adalah perintah untuk melakukan backup pada database MySQL. Gantilah userdb, passdb dan namadb sesuai dengan user, password dan database anda. gzip digunakan untuk melakukan kompresi database. Anda juga diperbolehkan untu menggunakan jenis kompresi lain seperti zip, rar dll.

Semoga bermanfaat.

%d bloggers like this: