[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RiminiLUG-General] Starting date di un processo



Il mer, 2003-12-17 alle 18:52, Davide Venturini ha scritto:
> Salve a tutti, è possibile sapere l'ora e il giorno di start di un processo?
> Avrei la necessità di sapere quanto tempo la connessione internet (pppd) sta
> su.
> Avevo pensato di scrivere la data in un file appena lo script di connessione
> parte, e poi, quando richiedevo il tempo andavo a sottrarre la data corrente
> con quella scritta nel file...però...è piu complicato di quanto prevedevo
> :-)
> 
> Consigli o suggerimenti?

Kppp, ad esempio, ti mette a disposizione uno strumento di
visualizzazione dei log molto interessante, che e' kppplogview. Se
tramite kppp hai abilitato per un account il calcolo delle spese
telefoniche (fornendogli Stato e tipo di collegamento), in "proprieta'
account" -> "Tab Spese" telefoniche, lui ad ogni utilizzo registra dei
log in ~/.kde/share/apps/kppp/Log divisi per mese ed anno. 
Attraverso il programma kppplogview, e' possibile vedere
dettagliatamente mese per mese, la durata e la spesa di ogni chiamata
nella valuta locale. 
L'unica sfika, e' che cio' e collegato all'uso del programma kppp e non
consente di tracciare anche quelle chiamate che coinvolgono l'utilizzo
di pppd in altre circostanze, come adesempio la chiamata attraverso un
collegamento adsl ...
In questi casi, almeno io, non sono a conoscenza di parser gia' pronti
che facciano un rapporto cosi' accurato, ma si puo' sempre fare in
maniera piuttosto semplice, uno script che analizza il /var/log/messages
che intercetta tutte le linee del tipo :
--- 
Dec 17 01:37:33 fury pppd[1069]: Connection terminated.
Dec 17 01:37:33 fury pppd[1069]: Connect time 303.4 minutes.
Dec 17 01:37:33 fury pppd[1069]: Sent 602733 bytes, received 2837982
bytes.
---- 
.. e andare a prendere (se ad esempio ti serve solo il tempo) le linee
con "Connect time" ed usare il dato successivo (il tempo in minuti) a
tuo uso e consumo. Ad esempio, puoi mettere un processo in cron, o alla
partenza o chiusura del sistema (o nel file /etc/ppp/ip-down.local, se
nella procedura di shutdown ti ricordi comunque di chiudere la linea),
ti prende queste linee e te travasa su un altro log, magari meglio
formattato, per poter fare dei report o statistiche mensili.

Per esempio, un comando come il seguente, seguito da una regular
expression non troppo elaborata, ti da' gia' un rapporto di tutti i
minuti di connessioni per data :

$ grep pppd /var/log/messages | \
   grep "Connect time" |  \
   sed -e "s/\(^.\{15\}\).*Connect time \([\.0-9]*\) .*$/\1 -- \2/"

Dovresti ricevere come risultato una cosa simile:
...
...
Dec 14 03:40:38 -- 208.6
Dec 14 18:05:02 -- 288.4
Dec 15 02:01:51 -- 387.2
Dec 15 07:46:50 -- 85.2
Dec 16 01:22:48 -- 307.0
Dec 16 12:27:10 -- 236.4
Dec 17 01:37:33 -- 303.4
...
Naturalmente, in questo caso, l'ora mostrata, e' l'ora di chiusura della
connessione con il relativo tempo in minuti.

Spero di averti dato qualche indicazione utile. Se vuoi altri
chiarimenti, come magari uno script di esempio, fammi sapere che appena
ho qualche ritaglio di tempo ne scrivo uno magari un po' piu' completo
(d'altronde serve anche a me ;)

Un saluto cordiale.

-- 
Saluti (Good bye)
Gabriele Zappi

+----- Using Fedora Core 1 (Yarrow) - 2.4.22-1.2115.nptl-GZ -------+
| E-mail address ..........: zappig@xxxxxxxxxxx                    |
| G. Zappi's personal pages: http://xoomer.virgilio.it/zappig/     |
|                            http://spazioinwind.libero.it/gzappi/ |
| ICQ Uin # 36664317                                               |
| Jabber account ..........: gabolander@xxxxxxxxxxxxxxx            |
+------------------------ AMD K7 Athlon XP ------------------------+


-- 
Mailing list info: http://lists.linux.it/listinfo/riminilug-general