Je cherche =E0 r=E9cup=E9rer la dur=E9e qui s'est =E9coul=E9e depuis la der=
ni=E8re=20
reconnexion de pppd (en temps r=E9el).
De nombreuses applications le font (celle qui me vient =E0 l'esprit est kpp=
p=20
mais d'autres le font aussi).
Quelques infos sur ma config : je suis connect=E9 =E0 l'adsl en ppoe, et ut=
ilise=20
l'option persist de pppd.
Le but est d'afficher ce temps sur une page web, me permettant de savoir si=
=20
j'ai eu des probl=E8mes de connexion. Je peux donc r=E9cup=E9rer cette dur=
=E9e quand=20
cette page est appel=E9e (il ne s'agit donc pas vraiment de temps r=E9el)...
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Sylvain Sauvage
Sun, 12 Dec 2004 11:21:48 +0100, Julien Valroff a écrit :
Bonjour !
Je cherche à récupérer la durée qui s'est écoulée depuis la d ernière reconnexion de pppd (en temps réel).
Quelques infos sur ma config : je suis connecté à l'adsl en ppoe, et utilise l'option persist de pppd.
Le but est d'afficher ce temps sur une page web, me permettant de savoir si j'ai eu des problèmes de connexion. Je peux donc récupérer cette durée quand cette page est appelée (il ne s'agit donc pas vraiment de temps réel)...
Quelqu'un a-t-il une idée ?
Tu peux ajouter un script dans /etc/ppp/ip-up.d pour noter la date de connexion dans un fichier. Voir 'man date' pour un format facile à manipuler.
Note : le nom du script ne doit comporter que des lettres, des chiffres et des tirets (mais pas au début). Pas de point. Vérifier dans 'man run-parts'.
-- Sylvain Sauvage
Sun, 12 Dec 2004 11:21:48 +0100, Julien Valroff a écrit :
Bonjour !
Je cherche à récupérer la durée qui s'est écoulée depuis la d ernière
reconnexion de pppd (en temps réel).
Quelques infos sur ma config : je suis connecté à l'adsl en ppoe, et
utilise l'option persist de pppd.
Le but est d'afficher ce temps sur une page web, me permettant de savoir
si j'ai eu des problèmes de connexion. Je peux donc récupérer cette
durée quand cette page est appelée (il ne s'agit donc pas vraiment de
temps réel)...
Quelqu'un a-t-il une idée ?
Tu peux ajouter un script dans /etc/ppp/ip-up.d pour noter la date de
connexion dans un fichier.
Voir 'man date' pour un format facile à manipuler.
Note : le nom du script ne doit comporter que des lettres, des chiffres et
des tirets (mais pas au début). Pas de point. Vérifier dans 'man
run-parts'.
Sun, 12 Dec 2004 11:21:48 +0100, Julien Valroff a écrit :
Bonjour !
Je cherche à récupérer la durée qui s'est écoulée depuis la d ernière reconnexion de pppd (en temps réel).
Quelques infos sur ma config : je suis connecté à l'adsl en ppoe, et utilise l'option persist de pppd.
Le but est d'afficher ce temps sur une page web, me permettant de savoir si j'ai eu des problèmes de connexion. Je peux donc récupérer cette durée quand cette page est appelée (il ne s'agit donc pas vraiment de temps réel)...
Quelqu'un a-t-il une idée ?
Tu peux ajouter un script dans /etc/ppp/ip-up.d pour noter la date de connexion dans un fichier. Voir 'man date' pour un format facile à manipuler.
Note : le nom du script ne doit comporter que des lettres, des chiffres et des tirets (mais pas au début). Pas de point. Vérifier dans 'man run-parts'.
Le Dimanche 12 Décembre 2004 14:55, Sylvain Sauvage a écrit :
Sun, 12 Dec 2004 11:21:48 +0100, Julien Valroff a écrit : > Bonjour ! > > Je cherche à récupérer la durée qui s'est écoulée depuis la dernière > reconnexion de pppd (en temps réel). > > Quelques infos sur ma config : je suis connecté à l'adsl en ppoe, et > utilise l'option persist de pppd. > > Le but est d'afficher ce temps sur une page web, me permettant de savoir > si j'ai eu des problèmes de connexion. Je peux donc récupérer cet te > durée quand cette page est appelée (il ne s'agit donc pas vraiment de > temps réel)... > > Quelqu'un a-t-il une idée ?
Tu peux ajouter un script dans /etc/ppp/ip-up.d pour noter la date de connexion dans un fichier. Voir 'man date' pour un format facile à manipuler.
Note : le nom du script ne doit comporter que des lettres, des chiffres et des tirets (mais pas au début). Pas de point. Vérifier dans 'man run-parts'.
Bonsoir, et merci pour vos réponses.
Je pensais qu'il existait une solution "toute faite", mais malgré mes recherches, je n'ai rien trouvé de mieux que d'utiliser les scripts ip-up .d.
Pour les archives, voilà ce que j'ai utilisé :
le script à placer dans /etc/ppp/ip-up.d/ : ========================= ==== #!/bin/sh /bin/date +%s > /tmp/adsl_status /bin/echo $ip >> /tmp/adsl_status ========================= ====
Celui dans /etc/ppp/ip-down.d/ (me permet de savoir que je ne suis pas connecté, je supprime tout simplement le fichier) : ========================= ==== #!/bin/sh /bin/rm /tmp/adsl_status ========================= ====
Le script qui me permet d'afficher l'information : ========================= ==== <?php
$cache = @file("/tmp/adsl_status");
function DateDiff($tfirst, $tsecond) { //returns an array with numeric values for in an array measuring days, hours, minutes & seconds $ret=array(); $totalsec=$tsecond-$tfirst; $ret['days']=floor(($totalsec/86400)); $totalsec=$totalsec % 86400; $ret['hours']=floor(($totalsec/3600)); $totalsec=$totalsec % 3600; $ret['minutes']=floor(($totalsec/60)); $ret['seconds']=$totalsec % 60; return $ret; }
Je n'ai pas réussi à le faire en perl, j'ai donc choisi le php que je m aitrise bien mieux. Si quelqu'un a une proposition... car le perl a l'avantage d' être également installer sur mon firewall (et j'affiche l'info sur mon serveur web).
Quant à la solution proposée par Jacques L'helgoualc'h, à savoir util iser awk pour aller cherche l'heure de la dernière connexion dans les logs, je n'a i pas réussi à la mettre en place, en particulier à cause de logrotate, qui fait tourner les journaux, et si la dernière connexion a eu lieu avant la rotation journalière, je ne peux plus retrouver l'info (à moins de cher cher dans toutes les archives, et ça commence à faire une grosse moulinette pour un tout petit poisson).
Le Dimanche 12 Décembre 2004 14:55, Sylvain Sauvage a écrit :
Sun, 12 Dec 2004 11:21:48 +0100, Julien Valroff a écrit :
> Bonjour !
>
> Je cherche à récupérer la durée qui s'est écoulée depuis la dernière
> reconnexion de pppd (en temps réel).
>
> Quelques infos sur ma config : je suis connecté à l'adsl en ppoe, et
> utilise l'option persist de pppd.
>
> Le but est d'afficher ce temps sur une page web, me permettant de savoir
> si j'ai eu des problèmes de connexion. Je peux donc récupérer cet te
> durée quand cette page est appelée (il ne s'agit donc pas vraiment de
> temps réel)...
>
> Quelqu'un a-t-il une idée ?
Tu peux ajouter un script dans /etc/ppp/ip-up.d pour noter la date de
connexion dans un fichier.
Voir 'man date' pour un format facile à manipuler.
Note : le nom du script ne doit comporter que des lettres, des chiffres et
des tirets (mais pas au début). Pas de point. Vérifier dans 'man
run-parts'.
Bonsoir, et merci pour vos réponses.
Je pensais qu'il existait une solution "toute faite", mais malgré mes
recherches, je n'ai rien trouvé de mieux que d'utiliser les scripts ip-up .d.
Pour les archives, voilà ce que j'ai utilisé :
le script à placer dans /etc/ppp/ip-up.d/ :
========================= ====
#!/bin/sh
/bin/date +%s > /tmp/adsl_status
/bin/echo $ip >> /tmp/adsl_status
========================= ====
Celui dans /etc/ppp/ip-down.d/ (me permet de savoir que je ne suis pas
connecté, je supprime tout simplement le fichier) :
========================= ====
#!/bin/sh
/bin/rm /tmp/adsl_status
========================= ====
Le script qui me permet d'afficher l'information :
========================= ====
<?php
$cache = @file("/tmp/adsl_status");
function DateDiff($tfirst, $tsecond) {
//returns an array with numeric values for in an array measuring days,
hours, minutes & seconds
$ret=array();
$totalsec=$tsecond-$tfirst;
$ret['days']=floor(($totalsec/86400));
$totalsec=$totalsec % 86400;
$ret['hours']=floor(($totalsec/3600));
$totalsec=$totalsec % 3600;
$ret['minutes']=floor(($totalsec/60));
$ret['seconds']=$totalsec % 60;
return $ret;
}
Je n'ai pas réussi à le faire en perl, j'ai donc choisi le php que je m aitrise
bien mieux. Si quelqu'un a une proposition... car le perl a l'avantage d' être
également installer sur mon firewall (et j'affiche l'info sur mon serveur
web).
Quant à la solution proposée par Jacques L'helgoualc'h, à savoir util iser awk
pour aller cherche l'heure de la dernière connexion dans les logs, je n'a i
pas réussi à la mettre en place, en particulier à cause de logrotate, qui
fait tourner les journaux, et si la dernière connexion a eu lieu avant la
rotation journalière, je ne peux plus retrouver l'info (à moins de cher cher
dans toutes les archives, et ça commence à faire une grosse moulinette pour
un tout petit poisson).
Le Dimanche 12 Décembre 2004 14:55, Sylvain Sauvage a écrit :
Sun, 12 Dec 2004 11:21:48 +0100, Julien Valroff a écrit : > Bonjour ! > > Je cherche à récupérer la durée qui s'est écoulée depuis la dernière > reconnexion de pppd (en temps réel). > > Quelques infos sur ma config : je suis connecté à l'adsl en ppoe, et > utilise l'option persist de pppd. > > Le but est d'afficher ce temps sur une page web, me permettant de savoir > si j'ai eu des problèmes de connexion. Je peux donc récupérer cet te > durée quand cette page est appelée (il ne s'agit donc pas vraiment de > temps réel)... > > Quelqu'un a-t-il une idée ?
Tu peux ajouter un script dans /etc/ppp/ip-up.d pour noter la date de connexion dans un fichier. Voir 'man date' pour un format facile à manipuler.
Note : le nom du script ne doit comporter que des lettres, des chiffres et des tirets (mais pas au début). Pas de point. Vérifier dans 'man run-parts'.
Bonsoir, et merci pour vos réponses.
Je pensais qu'il existait une solution "toute faite", mais malgré mes recherches, je n'ai rien trouvé de mieux que d'utiliser les scripts ip-up .d.
Pour les archives, voilà ce que j'ai utilisé :
le script à placer dans /etc/ppp/ip-up.d/ : ========================= ==== #!/bin/sh /bin/date +%s > /tmp/adsl_status /bin/echo $ip >> /tmp/adsl_status ========================= ====
Celui dans /etc/ppp/ip-down.d/ (me permet de savoir que je ne suis pas connecté, je supprime tout simplement le fichier) : ========================= ==== #!/bin/sh /bin/rm /tmp/adsl_status ========================= ====
Le script qui me permet d'afficher l'information : ========================= ==== <?php
$cache = @file("/tmp/adsl_status");
function DateDiff($tfirst, $tsecond) { //returns an array with numeric values for in an array measuring days, hours, minutes & seconds $ret=array(); $totalsec=$tsecond-$tfirst; $ret['days']=floor(($totalsec/86400)); $totalsec=$totalsec % 86400; $ret['hours']=floor(($totalsec/3600)); $totalsec=$totalsec % 3600; $ret['minutes']=floor(($totalsec/60)); $ret['seconds']=$totalsec % 60; return $ret; }
Je n'ai pas réussi à le faire en perl, j'ai donc choisi le php que je m aitrise bien mieux. Si quelqu'un a une proposition... car le perl a l'avantage d' être également installer sur mon firewall (et j'affiche l'info sur mon serveur web).
Quant à la solution proposée par Jacques L'helgoualc'h, à savoir util iser awk pour aller cherche l'heure de la dernière connexion dans les logs, je n'a i pas réussi à la mettre en place, en particulier à cause de logrotate, qui fait tourner les journaux, et si la dernière connexion a eu lieu avant la rotation journalière, je ne peux plus retrouver l'info (à moins de cher cher dans toutes les archives, et ça commence à faire une grosse moulinette pour un tout petit poisson).
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Julien Valroff
Salut,
En effet, je n'ai pas mis mon script dans son ensemble... comme dit, je me sers des valeurs récupérés pour un affichage sur mon serveur web (je passe le fichier par scp et le lit ensuite en php - j'aimerais d'ailleurs faire de même en perl si tu as une idée !).
En fait, je récupère l'ip grâce au paramètre passé par pppd lors de l'exécution des scripts dans ip-[up,down].d par run-parts
Extrait de /etc/ppp/ip-up:
# This script is called with the following arguments: # Arg Name Example # $1 Interface name ppp0 # $2 The tty ttyS1 # $3 The link speed 38400 # $4 Local IP number 12.34.56.78 # $5 Peer IP number 12.34.56.99 # $6 Optional ``ipparam'' value foo
Tu peux donc utiliser directement $PPP_LOCAL dans ton script !
Je mets la liste en copie pour corriger mon oubli.
@++ Julien
Le Lundi 13 Décembre 2004 21:01, vous avez écrit :
Bonjour,
Je suis très intéressé par cette solution, et je l'ai mise chez moi :)
Par contre, il y a un point que je ne comprends pas.
On Mon, Dec 13, 2004 at 06:33:17PM +0100, Julien Valroff wrote: >le script à placer dans /etc/ppp/ip-up.d/ : >======================== ===== >#!/bin/sh >/bin/date +%s > /tmp/adsl_status >/bin/echo $ip >> /tmp/adsl_status >======================== =====
Comment récupéres-tu $ip ici ? Est-ce pppd qui initialise $ip à la bonne valeur ? Ça n'a pas l'air d'être le cas chez moi... Enfin, je peux toujours parser ifconfig pour récupérer l'adresse IP, mais c'est un peu lourd.
Merci !
Jocelyn
Salut,
En effet, je n'ai pas mis mon script dans son ensemble... comme dit, je me
sers des valeurs récupérés pour un affichage sur mon serveur web (je passe le
fichier par scp et le lit ensuite en php - j'aimerais d'ailleurs faire de
même en perl si tu as une idée !).
En fait, je récupère l'ip grâce au paramètre passé par pppd lors de
l'exécution des scripts dans ip-[up,down].d par run-parts
Extrait de /etc/ppp/ip-up:
# This script is called with the following arguments:
# Arg Name Example
# $1 Interface name ppp0
# $2 The tty ttyS1
# $3 The link speed 38400
# $4 Local IP number 12.34.56.78
# $5 Peer IP number 12.34.56.99
# $6 Optional ``ipparam'' value foo
Tu peux donc utiliser directement $PPP_LOCAL dans ton script !
Je mets la liste en copie pour corriger mon oubli.
@++
Julien
Le Lundi 13 Décembre 2004 21:01, vous avez écrit :
Bonjour,
Je suis très intéressé par cette solution, et je l'ai mise chez moi :)
Par contre, il y a un point que je ne comprends pas.
On Mon, Dec 13, 2004 at 06:33:17PM +0100, Julien Valroff wrote:
>le script à placer dans /etc/ppp/ip-up.d/ :
>======================== =====
>#!/bin/sh
>/bin/date +%s > /tmp/adsl_status
>/bin/echo $ip >> /tmp/adsl_status
>======================== =====
Comment récupéres-tu $ip ici ?
Est-ce pppd qui initialise $ip à la bonne valeur ?
Ça n'a pas l'air d'être le cas chez moi... Enfin, je peux toujours
parser ifconfig pour récupérer l'adresse IP, mais c'est un peu lourd.
En effet, je n'ai pas mis mon script dans son ensemble... comme dit, je me sers des valeurs récupérés pour un affichage sur mon serveur web (je passe le fichier par scp et le lit ensuite en php - j'aimerais d'ailleurs faire de même en perl si tu as une idée !).
En fait, je récupère l'ip grâce au paramètre passé par pppd lors de l'exécution des scripts dans ip-[up,down].d par run-parts
Extrait de /etc/ppp/ip-up:
# This script is called with the following arguments: # Arg Name Example # $1 Interface name ppp0 # $2 The tty ttyS1 # $3 The link speed 38400 # $4 Local IP number 12.34.56.78 # $5 Peer IP number 12.34.56.99 # $6 Optional ``ipparam'' value foo
Tu peux donc utiliser directement $PPP_LOCAL dans ton script !
Je mets la liste en copie pour corriger mon oubli.
@++ Julien
Le Lundi 13 Décembre 2004 21:01, vous avez écrit :
Bonjour,
Je suis très intéressé par cette solution, et je l'ai mise chez moi :)
Par contre, il y a un point que je ne comprends pas.
On Mon, Dec 13, 2004 at 06:33:17PM +0100, Julien Valroff wrote: >le script à placer dans /etc/ppp/ip-up.d/ : >======================== ===== >#!/bin/sh >/bin/date +%s > /tmp/adsl_status >/bin/echo $ip >> /tmp/adsl_status >======================== =====
Comment récupéres-tu $ip ici ? Est-ce pppd qui initialise $ip à la bonne valeur ? Ça n'a pas l'air d'être le cas chez moi... Enfin, je peux toujours parser ifconfig pour récupérer l'adresse IP, mais c'est un peu lourd.
Merci !
Jocelyn
Jacques L'helgoualc'h
Julien Valroff a écrit, lundi 13 décembre 2004, à 18:33 : [...]
Quant à la solution proposée par Jacques L'helgoualc'h, à savoir utiliser awk pour aller cherche l'heure de la dernière connexion dans les logs, je n'ai pas réussi à la mettre en place, en particulier à cause de logrotate, qui fait tourner les journaux, et si la dernière connexion a eu lieu avant la rotation journalière, je ne peux plus retrouver l'info (à moins de chercher dans toutes les archives, et ça commence à faire une grosse moulinette pour un tout petit poisson).
Pas si grosse :)
{ for log in $(ls -1tr /var/log/ppp.log*) do case $log in *.gz) zcat $log;; *) cat $log;; esac done } | awk '/local +IP address/'
donnera la liste des dates et IP de connexion.
L'autre solution est meilleure quand on demande souvent la même information. -- Jacques L'helgoualc'h
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Julien Valroff a écrit, lundi 13 décembre 2004, à 18:33 :
[...]
Quant à la solution proposée par Jacques L'helgoualc'h, à savoir utiliser awk
pour aller cherche l'heure de la dernière connexion dans les logs, je n'ai
pas réussi à la mettre en place, en particulier à cause de logrotate, qui
fait tourner les journaux, et si la dernière connexion a eu lieu avant la
rotation journalière, je ne peux plus retrouver l'info (à moins de chercher
dans toutes les archives, et ça commence à faire une grosse moulinette pour
un tout petit poisson).
Pas si grosse :)
{
for log in $(ls -1tr /var/log/ppp.log*)
do
case $log in
*.gz)
zcat $log;;
*)
cat $log;;
esac
done
} | awk '/local +IP address/'
donnera la liste des dates et IP de connexion.
L'autre solution est meilleure quand on demande souvent la même
information.
--
Jacques L'helgoualc'h
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Julien Valroff a écrit, lundi 13 décembre 2004, à 18:33 : [...]
Quant à la solution proposée par Jacques L'helgoualc'h, à savoir utiliser awk pour aller cherche l'heure de la dernière connexion dans les logs, je n'ai pas réussi à la mettre en place, en particulier à cause de logrotate, qui fait tourner les journaux, et si la dernière connexion a eu lieu avant la rotation journalière, je ne peux plus retrouver l'info (à moins de chercher dans toutes les archives, et ça commence à faire une grosse moulinette pour un tout petit poisson).
Pas si grosse :)
{ for log in $(ls -1tr /var/log/ppp.log*) do case $log in *.gz) zcat $log;; *) cat $log;; esac done } | awk '/local +IP address/'
donnera la liste des dates et IP de connexion.
L'autre solution est meilleure quand on demande souvent la même information. -- Jacques L'helgoualc'h
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact