Blog di Daniel
27 Mai/08 0

Linux counter per le connessioni UMTS

Ho scritto un piccolo script per il conteggio del traffico in UMTS / GPRS e di calcolare i costi sostenuti. Ne ho bisogno, perché ho in programma di breve conversazione con una scheda prepagata per navigare ALDI, poiché i prezzi sono troppo alti nel mio contratto regolare. (ALDI: 0,24 € per megabyte / E-PLUS-BASE 6,14 € !!!!!)

Nel migliore dei casi, è sufficiente mettere alla fine della sua dial-up script in modo che immediatamente dopo la connessione inizia a contare.

Il tutto senza alcuna garanzia .... Non so se è ostacolato o qualcosa del genere, in modo da utilizzare a proprio rischio ;) Nel mio caso con BASE potrebbe essere molto costoso, quindi state attenti!

 # / Bin / bash

 # Conteggio del traffico - Visualizza informazioni sul traffico per la connessione corrente e 
  # Alculated costi per la connessione 


 # CONFIG:

 # Mappa della connessione di rete 
  Interface = eth0

 # 1 il costo per MB di traffico 
  PREIS_PRO_MB = 0,24

 # UpdateInterval in sec 
  UpdateInterval = 5

 ############################################

 # Calcolato dal byte MB 
  calc_mb () 
  { 
  BYTE = $ 1 
  MEGABYTES = `echo" scale = 2; $ BYTES / 1048576 "| bc` 
  # Echo "$ *** *** MEGABYTES" 
  }

 # Recupera dati di traffico da ifconfig 
  get_data () 
  { 
  # RX bytes: 3435333852 (3.1 GiB) TX bytes: 1233166424 (1.1 GB) 
  TRAFFICCUT INTERFACCIA = `ifconfig $ | grep" RX bytes "`

 # Ricevuto cutten 
  TMP = `echo $ TRAFFICCUT | cut-d:-f2` 
  IN = `echo $ TMP | cut-d" "-f1`

 # INVIATI cutten 
  TMP = `echo $ TRAFFICCUT | cut-d:-f3` 
  OUT = `echo $ TMP | cut-d" "-f1`

 # CALCOLARE TOTALE 
  TOTALE = `echo" $ $ IN + OUT "| bc` 
  }

 S_TOTAL = 0 
  S_IN = 0 
  S_OUT = 0

 get_data 
  TOTALE = $ START_TOTAL 
  START_IN = $ IN 
  START_OUT = $ OUT

 # Echo $ START_TOTAL 
  # Echo $ START_IN 
  # Echo $ START_OUT

 chiaro

 mentre [1] 
  fare

 get_data

 # Determina il traffico attuale in occasione della riunione 
  S_TOTAL = `echo" $ TOTALE - $ START_TOTAL "| bc`

 # Echo "*** S_TOTAL: $ S_TOTAL ***"

 S_IN = `echo" $ IN - $ START_IN "| bc` 
  S_OUT = `echo" $ OUT - $ START_OUT "| bc`

 # Converti MB 
  calc_mb $ TOTALE, TOTALE = $ MEGABYTES 
  calc_mb $ IN, IN = $ MEGABYTES 
  calc_mb $ OUT, OUT = $ MEGABYTES 
  calc_mb $ S_OUT; S_OUT = $ MEGABYTES 
  calc_mb $ S_IN; S_IN = $ MEGABYTES 
  calc_mb $ S_TOTAL; S_TOTAL = $ MEGABYTES

 # Determina i costi 
  COSTO = `" scale = 2; $ S_TOTAL PREIS_PRO_MB * $ "echo | bc` 
  # Echo "*** COSTI $ - $ S_TOTAL - *** $ PREIS_PRO_MB"

 # Aggiornamento dei dati di sessione

 # Echo $ TRAFFICCUT 
  # Echo 
  echo "totale di $ INTERFACCIA: In: MB $ IN | Out: $ OUT MB | Totale: $ TOTALE MB" 
  echo "$ a SESSIONE INTERFACCIA: In: $ S_IN MB | Out: $ S_OUT MB | Totale: $ S_TOTAL MB" 
  echo "COSTO: $ COSTO €"

 sleep $ UpdateInterval 
  chiaro

 fatto

Godetevi questo articolo?

Puoi iscriverti al nostro feed RSS!

Commenti (0) Trackbacks (0)

Questo articolo è stato inviato ancora alcun commento.


Lascia un commento

Si prega di copiare la stringa 3Uv9lZ nel campo sottostante:

Nessun trackback.