> Je cherche à écrire un script qui me calcule et archive mes temps de
> connexion (en Perl). Pour cela, j'ai besoin de savoir ce qui
> caractérise qu'une machine est ou n'est pas connectée...
j'ai trouve des messages interessants dans /var/log/messages, du genre :
Nov 22 23:33:21 benbox pppd[7887]: Terminating on signal 15.
Nov 22 23:33:21 benbox pppd[7887]: Connection terminated.
Nov 22 23:33:21 benbox pppd[7887]: Connect time 84.4 minutes.
Nov 22 23:33:21 benbox pppd[7887]: Sent 708976 bytes, received 5268719
bytes.
Nov 22 23:33:21 benbox pppd[7887]: Exit.
en tout cas ça marche pour ppp0 !
> PS: cela dit, si Perl n'est pas idéal, je veux bien changer mais je
> préfèrerai un langage de script, par paresse ;-)
je l'ai fait avec un melange shell-script / C :
le script fait la recherche, et le C le calcul de la somme flottante (ya
surement plus simple, mais j'avais pas envie de chercher...)
le script :
-----------
#!/bin/sh
LISTE=`gawk 'BEGIN {ORS=" "} /Jan/ && /pppd/ && /Connect time/ {print
$8}' /var/log/messages`
echo `sommeflottante $LISTE`
le source C:
------------
int main(int argc, char *argv[])
{
float val,res;
int i;
res = 0;
for (i=1 ; i < argc ; i++)
{
sscanf(argv[i],"%f",&val);
res += val;
}
printf("%d heures %d minutes\n",(int)res / 60,(int)res % 60);
return 0;
}
c'est pas dur !
deux problèmes :
1) ça ne répond correctement qu'une fois que pppd a "raccroché"
2) j'ai remarqué une légère différence avec le décompte calculé par
wanadoo : ils trouvent plus que moi... soit ils trichent, soit ils
commencent à compter avant la négociation du protocole ou ce genre de
trucs.
tchao !
--
Benoit FRIRY
élève ingénieur à l'ENSIMAG
email : benoit.friry@???