Rechercher : dans
Par :

En quel codage écrit le log file de mrtg

Dernière réponse le 10 avr 2008 à 14:45:27 pianoclassique, le 10 avr 2008 à 11:40:47 
 Signaler ce message aux modérateurs

Bonjour,
j'ai installé le MRTG sous ubuntu et je veu accéder au fichier /var/www/mrtg/mrtg.log ou var/log/mrtg qui est sous la forme :

1036567881 2313865839 3040227868
1036567881 937 713 937 713
1036567581 1561 229 1561 229
1036567500 1831 240 2561 273
1036567200 2473 643 2561 1647
1036566900 2312 1305 2513 1647



1036567881 est la date et le temps donc 1036567881 est écrit en héxa ou décimel ou quoi ?


Puis comment je peu transforme par exemple en perl le temps de 18:30 par des valeurs comme 1036567881(de fichier log de mrtg) ..................;;Merci à tout,.

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « en quel codage écrit le log file de mrtg » dans :
Le log file Ingres Voir Quelques considérations sur le type, la taille et la manipulation du log file Ingres. Taille du log file Log file et dual log file Log file en raw device vs log file en mode normal Pour modifier la taille du log file Taille du log...
Télécharger K-Lite Codec Pack Full VoirK-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo. K-Lite Codec Pack Full embarque l'ensemble des codecs et filtres nécessaires pour la plupart des formats audio et vidéo...
Télécharger K-Lite Mega Codec Pack VoirK-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo. K-Lite Mega Codec Pack embarque l'ensemble des codecs et filtres nécessaires pour la plupart des formats audio et vidéo...
Télécharger K-Lite Codec Pack Standard VoirK-Lite Codec Pack est une collection de codecs et de filtres nécessaires pour encoder ou décoder des formats audio ou vidéo. K-Lite Codec Pack Standard embarque l'ensemble des codecs et filtres nécessaires pour la plupart des formats audio et vidéo...

1

lami20j, le 10 avr 2008 à 11:49:23

Salut,

la commande

file /var/www/mrtg/mrtg.log 
te dira le type de fichier

donc 1036567881 est écrit en héxa ou décimel ou quoi ?
c'est une date au format secondes Epoch

si 18:30 veut dire 18h30m00s aujourd'hui

alors tu peux faire par exemple
use Time::Local;
$time = timelocal($seconds, $minutes, $hours, (localtime)[3,4,5]);



106485010510997108

Répondre à lami20j

2

pianoclassique, le 10 avr 2008 à 11:57:34

Merci ,,,,,,,,,, je veu transformer s'il vous plait le champ de fichier log par exemple 1036567881 en sa propre date(jours/mois/année) et le temps (heure/minutes/secondes).

Répondre à pianoclassique

3

lami20j, le 10 avr 2008 à 13:29:04

Le script

root@debian:~# cat epoch.pl
#!/usr/bin/perl
use strict;use warnings;

open LIRE,"epoch.log"
     or die "E/S ! $!\n";

while(<LIRE>){
  /^(\d+)\s+(.*)/;
  my ($sec, $min, $heure, $jour, $mois, $annee) = (localtime($1))[0..5];
  $mois+=1;
  $annee+=1900;
  printf ("%02d/%02d/%02d %02d:%02d:%02d $2\n",$jour,$mois,$annee,$heure,$min,$sec);
}
__END__
Le résultat
root@debian:~# cat epoch.log
1036567881 2313865839 3040227868
1036567881 937 713 937 713
1036567581 1561 229 1561 229
1036567500 1831 240 2561 273
1036567200 2473 643 2561 1647
1036566900 2312 1305 2513 1647
root@debian:~# perl epoch.pl
06/11/2002 08:31:21 2313865839 3040227868
06/11/2002 08:31:21 937 713 937 713
06/11/2002 08:26:21 1561 229 1561 229
06/11/2002 08:25:00 1831 240 2561 273
06/11/2002 08:20:00 2473 643 2561 1647
06/11/2002 08:15:00 2312 1305 2513 1647
106485010510997108

Répondre à lami20j

4

pianoclassique, le 10 avr 2008 à 14:01:22

Merci beaucoup lami20j pour la réponce, je veux aussi l'inverse de ce script, c-à-d je veu transformer n'importe quel date en format Epoch : par exemple: je donne la date(années/mois/jours) et l'heure( heures/minutes/jours):




06/11/2002 08:31:21 -----------------------------------------> 1036567881;




S'il vous plai c'est trés important pour moi, essay de m'aider....................merci

Répondre à pianoclassique

5

lami20j, le 10 avr 2008 à 14:19:07

Voilà

root@debian:~# cat epoch.pl
#!/usr/bin/perl
use strict;use warnings;
use Time::Local;

open LIRE,"epoch.log"
     or die "E/S ! $!\n";

while(<LIRE>){
  /^(\d+)\s+(.*)/;
  my ($sec, $min, $heure, $jour, $mois, $annee) = (localtime($1))[0..5];
  $mois+=1;
  $annee+=1900;
  print;
  printf ("%02d/%02d/%02d %02d:%02d:%02d $2\n",$jour,$mois,$annee,$heure,$min,$sec);
  my $epoch = timegm($sec, $min, $heure, $jour, $mois-1, $annee-1900);
  print "$epoch $2\n";
  print "-" x 50,"\n";
}
__END__
root@debian:~# perl epoch.pl
1036567881 2313865839 3040227868
06/11/2002 08:31:21 2313865839 3040227868
1036571481 2313865839 3040227868
--------------------------------------------------
1036567881 937 713 937 713
06/11/2002 08:31:21 937 713 937 713
1036571481 937 713 937 713
--------------------------------------------------
1036567581 1561 229 1561 229
06/11/2002 08:26:21 1561 229 1561 229
1036571181 1561 229 1561 229
--------------------------------------------------
1036567500 1831 240 2561 273
06/11/2002 08:25:00 1831 240 2561 273
1036571100 1831 240 2561 273
--------------------------------------------------
1036567200 2473 643 2561 1647
06/11/2002 08:20:00 2473 643 2561 1647
1036570800 2473 643 2561 1647
--------------------------------------------------
1036566900 2312 1305 2513 1647
06/11/2002 08:15:00 2312 1305 2513 1647
1036570500 2312 1305 2513 1647
--------------------------------------------------
106485010510997108

Répondre à lami20j

6

 pianoclassique, le 10 avr 2008 à 14:45:27

Merci lami20j............... maintenant s'il vous plait, j'ai besoin d'autre aide par vous ...

On a le fichier log file de mrtg et parfois je trouve des 0 dans n'importe quel champs de fichier log et je ne connait pas si cet 0 est le 0 de l'initialisation ou le 0 de warning de chute de courbe de mrtg.

Par exemple ........

1036567881 2313865839 3040227868
1036567881 937 713 937 713
1036567581 1561 229 1561 0----------------------------> par exemple cet 0 pour un chute de graphe(courbe) ou un 0 de
1036567500 1831 240 2561 273 l'initialisation.
1036567200 2473 643 2561 1647
1036566900 2312 1305 2513 1647



comment je peu connaitre ce probleme ? et quel est le script perl qui résoudre ce probleme?

Merci..........................

Répondre à pianoclassique