GPRS, Volume data counter di linux (handmade)…

September 9th 2007 01:01 am

Gue bikin ini karena terinspirasi dari artikel dimajalah, sekaligus rasa penasaran untuk tau volume pas lagi internetan pake hape, ditambah juga dikomporin om dheche karena script om dheche lebih baik dari script yang gue bikin sebelumnya…

mycounter.png

Script ini gue buat pake BASH, terus diletakkan di window desktop pake xterm dan dipasang di launcher biar tinggal klik dan muncul jendela script ini. Script ini jauh dari sempurna karena ilmu gue yang pas-pasan hahaha… jadi mohon kalo ada yang bisa menyempurnakan script ini makasih banget…

Yang pertama, pastikan ada bash, grep dan awk. Akan lebih baik kalau ada watch dan xterm. Prinsip kerjanya, kita mengambil data volume dari ifconfig (update: sebelumnya gue pake /proc/net/dev, tapi ternyata jika volume data kecil, awk -F: malah menghasilkan space, bukan baris yang kita inginkan) yang berupa data-data dari interface yang ada. Setelah didapat, kemudian difilter khusus untuk interface tertentu dan baris-baris tertentu seperti RX/TX bytes. Setelah didapat hasil filter, kemudian dihitung dengan mengalikan sesuai tarif ISP (dalam hal ini fren Rp. 7/detik). Untuk yang males baca scriptnya, bisa langsung diambil disini. Jangan lupa untuk merubah permission agar dapat dieksekusi, dan jika akan dipergunakan secara global bisa diletakkan di /usr/local/bin.

#!/bin/bash

# Script ini untuk melihat besarnya volume pada saat
# berinternet menggunakan volume based.
# Bisa digunakan untuk fren-volbased, GPRS, ADSL, bahkan 3G.
# Cukup tentukan interface mana yang akan dimonitor pada IFACE,
# dan besaran tarif di TARIF.
#
# dibuat oleh Febriadi.

#### definisikan variabel interface dengan harga per kb. ####
IFACE=eth0
TARIF=7
PROC=/proc/net/dev

if [ -n "$1" ]; then
IF=$1
else
IF=$IFACE
fi

##### ambil data TX dan RX dari /proc/net/dev untuk interface $IFACE #####
RX=`eval ifconfig $IF | grep bytes | awk ‘{print $2}’ | awk -F: ‘{printf “%d”,$2/1024}’`
TX=`eval ifconfig $IF | grep bytes | awk ‘{print $6}’ | awk -F: ‘{printf “%d”,$2/1024}’`
#RX=`eval grep $IFACE $PROC | awk ‘{print $1}’ | awk -F: ‘{printf “%d”,$2/1024}’`
#TX=`eval grep $IFACE $PROC | awk ‘{printf “%d”,$9/1024}’`

##### hitung total Kbytes dan total harga #####
let TOTAL=$RX+$TX
let HARGA=$TOTAL*$TARIF

# printout hasil #
echo “$IF down: $RX KBytes, up: $TX Kbytes, Total: $TOTAL Kbytes. Rp. $HARGA”

Script tersebut hanya menampilkan dalam satu waktu pada saat kita mengeksekusi. Jika ingin selalu aktif setiap beberapa waktu sekali, bisa dikombinasikan dengan watch sehingga menjadi :

administrator@scs$ watch -tn1 harga.sh

Perintah tersebut menjadikan harga.sh dieksekusi setiap detiknya. Agar terlihat di desktop, kita gunakan xterm (gue pengennya zenity, ada yang bisa kasih tau biar zenity bisa nerima variabel eksekusi aplikasi lain dengan looping ga?) dengan cara seperti ini :

administrator@scs$ xterm +bc -geometry 85×1 -T “Total Pemakaian” -ut -e watch -tn1 harga.sh

Tapi kalau males untuk terus ngetik diatas, jalankan launcher jika pada gnome, xfce atau kde, dan masukkan command diatas sebagai command pada launcher. Jadi kalau mau tau tinggal klik di launcher yang udah kita buat… (Update) Script yang ini bisa kita tentukan interfacenya tanpa kita harus mengganti variabel pada script, dengan memberikan argumen.

administrator@scs$ harga.sh eth0

atau,

administrator@scs$ harga.sh ppp0

Jika argumen tidak diberikan, maka interface yang digunakan adalah interface yang ada pada default dalam script.

Beberapa hal yang ingin gue sempurnakan :

  • Otomatis memperlihatkan apakah KBytes atau MBytes
  • Separasi (entah koma atau titik) per seribu.
  • Optimalisasi kode & algoritma…

Posted by Adi under Linux | 6 Comments »

6 Responses to “GPRS, Volume data counter di linux (handmade)…”

  1. obichi responded on 02 Nov 2007 at 13:33 #

    mana request gue…

    yagn bisa d pasang d windows :D

  2. Gerhana responded on 07 Nov 2007 at 3:35 #

    moh ah… enakan pake linux hahahahah….

  3. boboho responded on 23 Nov 2007 at 17:53 #

    administrator@scs$ ls -al
    bisa nda?
    mas ini nakal uji coba di scs mulu.

    Guyon pak, salam n thq buat support di skripsi ku tahun 2005.

  4. Gerhana responded on 24 Nov 2007 at 23:20 #

    @ boboho
    heheheh… ya cuma disitu gue bisa uji coba… :p
    btw, emang gue bantu apa di skripsi ente? 2005 lagi….?

  5. budiarno responded on 11 Feb 2009 at 23:02 #

    menarik nih scriptnya… mo nyoba ah… tapi sekarang saya pake gnome-ppp…

    dulu ga kepikiran pake gnome-ppp Pak…. dan sekarang saya pun menggunakan gnome-ppp…. lebih enak daripada script ku hahahahhahahahha… dodolnya diriku…

  6. origamin responded on 13 Jun 2009 at 11:57 #

    cara make gnome-ppp?

    ya di install… trus di eksekusi… selesai deh…

Trackback URI | Comments RSS

Leave a Reply

Spam Protection by WP-SpamFree