Newsgroup: it.comp.os.linux.iniziare
Titolo: Monitorare dati scambiati: piano tariffario mobile

Per connettermi ad internet sfrutto un cellulare e l'offerta
della tim: "maxxi tim web time recharge".
Sinteticamente funziona così:
ci sono due fasce orarie, una prepagata e l'altra a pagamento con
un meccanismo piuttosto elaborato
- fascia prepagata: 17-->9 giorni feriali (lun-->ven)
                    24/24  sab dom + festivi
  pagando i 25 euro si hanno 9 GB di traffico da consumare entro
  30 gg dall'attivazione. Non vi sono accumuli di traffico non
  effettuato.
- fascia "a pagamento": 9-->17 feriali
 
  in questa fascia 1 MB costa 6 euro (!!!! >:(  !!!!)
  avendo però l'offerta in qiestione attivata, ogni MB scambiato
  ne "regalano" 100 MB consumabili in questa fascia entro i 30 gg
  di validità dell'offerta. Lo chiamano bonus di traffico.
  Questo meccanismo funziona al massimo per 3 volte ad esempio:
  6 euro --> 101 MB - finiti
  6 euro --> 101 MB - finiti
  6 euro --> 101 MB - finiti
  tariffa ordinaria senza bonus 6 euro/mega.
Sintetizzando spendendo 31 euro si hanno 9GB in fascia e 100 MB
fuori fascia...spendendo 37 euro 9 GB + 200 MB. ecc ecc.
Sono alle prese con la stesura di uno script in grado di
mostrarmi l'ammontare dei dati scambiati con l'interfaccia ppp0
in modo tale da sapere quanti dati ho scambiato in fascia e
quanti fuori fascia.
Occorrerà tirare in ballo la data in espressioni condizionali,
separare le varie sessioni di connessione sommando il traffico
ecc ecc.
Avreste qualche idea?
Io ne ho alcune ma vorrei sapere cosa ne pensate anche voi...
Grazie in anticipo.

 quanti fuori fascia.
potresti anche leggere i log di connessione (magare settando a
'verbose' o 'debug' il ppp) ed estrarre da li i dati ...
ciao ...
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

 'verbose' o 'debug' il ppp) ed estrarre da li i dati ...
In effetti l'opzione debug l'ho sempre impostata nel file di
configurazione /etc/ppp/peers/gprs.
Hai ragione, ma vi sono alcune limitazioni. Riporto un pezzo del
/var/log/messages greppando su pppd:
=================================================================
Mar 23 17:17:31 slack-12 pppd[23993]: pppd 2.4.4 started by root,
uid 0
Mar 23 17:17:36 slack-12 pppd[23993]: Serial connection
established.
Mar 23 17:17:36 slack-12 pppd[23993]: Using interface ppp0
Mar 23 17:17:36 slack-12 pppd[23993]: Connect: ppp0 <-->
/dev/rfcomm0
Mar 23 17:17:37 slack-12 pppd[23993]: local  IP address
217.202.72.30
Mar 23 17:17:37 slack-12 pppd[23993]: remote IP address 10.6.6.6
Mar 23 19:41:15 slack-12 pppd[23993]: Hangup (SIGHUP)
Mar 23 19:41:15 slack-12 pppd[23993]: Modem hangup
Mar 23 19:41:15 slack-12 pppd[23993]: Connect time 143.7 minutes.
Mar 23 19:41:15 slack-12 pppd[23993]: Sent 5315132 bytes,
received 20925363 bytes.
Mar 23 19:41:15 slack-12 pppd[23993]: Connection terminated.
Mar 23 19:41:16 slack-12 pppd[23993]: Exit.
Mar 23 19:47:21 slack-12 pppd[22625]: pppd 2.4.4 started by root,
uid 0
Mar 23 19:47:24 slack-12 pppd[22692]: pppd 2.4.4 started by root,
uid 0
Mar 23 19:47:24 slack-12 pppd[22692]: Device rfcomm0 is locked by
pid 22625
Mar 23 19:47:24 slack-12 pppd[22692]: Exit.
Mar 23 19:47:29 slack-12 pppd[22625]: Serial connection
established.
Mar 23 19:47:29 slack-12 pppd[22625]: Using interface ppp0
Mar 23 19:47:29 slack-12 pppd[22625]: Connect: ppp0 <-->
/dev/rfcomm0
Mar 23 19:47:30 slack-12 pppd[22625]: local  IP address
217.202.83.176
Mar 23 19:47:30 slack-12 pppd[22625]: remote IP address 10.6.6.6
Mar 23 23:54:19 slack-12 pppd[22625]: Terminating on signal 15
Mar 23 23:54:19 slack-12 pppd[22625]: Connect time 246.9 minutes.
Mar 23 23:54:19 slack-12 pppd[22625]: Sent 13741170 bytes,
received 75345076 bytes.
Mar 23 23:54:19 slack-12 pppd[22625]: Connection terminated.
Mar 23 23:54:19 slack-12 pppd[22625]: Exit.
Mar 23 23:54:40 slack-12 pppd[30528]: pppd 2.4.4 started by root,
uid 0
Mar 23 23:54:45 slack-12 pppd[30528]: Serial connection
established.
Mar 23 23:54:45 slack-12 pppd[30528]: Using interface ppp0
Mar 23 23:54:45 slack-12 pppd[30528]: Connect: ppp0 <-->
/dev/rfcomm0
Mar 23 23:54:46 slack-12 pppd[30528]: local  IP address
217.202.59.139
Mar 23 23:54:46 slack-12 pppd[30528]: remote IP address 10.6.6.6
Mar 23 23:55:15 slack-12 pppd[30528]: Terminating on signal 15
Mar 23 23:55:15 slack-12 pppd[30528]: Connect time 0.5 minutes.
Mar 23 23:55:15 slack-12 pppd[30528]: Sent 1428 bytes, received
3131 bytes.
Mar 23 23:55:15 slack-12 pppd[30528]: Connection terminated.
Mar 23 23:55:15 slack-12 pppd[30528]: Exit.
==================================================================
Quindi in pratica: di ogni sessione conosco
1- istante di connessione
2- istante di disconnessione
3- uptime (connect time)
4- dati ricevuti ed inviati (possibilità di sommarli quindi)
Ma resta il problema delle fasce orarie distinte.
Reasta questo problema che si manifesta in due casi:
a- mi connetto prima delle 17:00 e mi sconnetto dopo le 17:00.
   Ovvero la sessione di connessione si estende in un intervallo
   comprendente il cambio di fascia.
b- come sopra, ma mi connetto prima delle 9:00 e mi sconnetto
   dopo le 9:00.
In pratica in entrambi i casi la domanda è:
Come faccio a conoscere i dati scambiati fuori fascia ed in
fascia?
Dal log sopra si sà il totale scambiato nell'intera sessione PPP,
questo dato ci nasconde ciò che è stato scambiato prima e dopo
l'istante di cambio fascia.
Pertanto mi sa che il log non basta.
Almeno non in tutti i casi.
A patto che non ci siano altri logs da qualche parte che siano
più dettagliati...  :-|
Grazie comunque della dritta, risulterà sicuramente utile.
Se avete altre idee...
Saluti.  :-)

 fascia?
altra "proposta" ;-) utilizza un file di log apposito ... (man logger)
mi pare che ci sono degli script che si avviano in
automatico quando parte ppp ... registra l'inizio nel log ...
poi in cron metti uno script che parte esattamente alle 17:00 e fa un
ifconfig ppp0|grep bytes|awk '{ print $2 }'
e aggiungi al file di log ... lo stesso dicasi per le 9:00
poi offline ti fai uno script che fa il parsing del
file di log e ricavi tutti i dati ... in pratica metti dei
checkpoint alle 17 e alle 9 ...
e' un'idea come un altra ;-))
ciao


 checkpoint alle 17 e alle 9 ...
Capisco...non mi dispiace, grazie mille per la dritta, mi
studierò un po' come passare dal parsing al conteggio dei dati di
ciascuna fascia. Vi farò sapere, potrebbe venirne fuori qualcosa
di utile per tutti quelli che hanno piani tariffari così
contorti ( :-\ ) Insomma viva le flat, che in ambito mobile ahi
noi non sembrano proprio voler uscire....!!!  >:-(
Saluti  :-)

 noi non sembrano proprio voler uscire....!!!  >:-(
sottoscrivo ;-))
ciao .. e buon lavoro ...


 aggiungere in crontab ...
Ci devo pensare meglio ora sono un po' di fretta...
grazie dell'apporto e saluti!  :-)