En quel codage écrit le log file de mrtg
Fermé
pianoclassique
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
-
10 avril 2008 à 11:40
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 - 10 avril 2008 à 14:45
pianoclassique Messages postés 108 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 19 janvier 2009 - 10 avril 2008 à 14:45
A voir également:
- En quel codage écrit le log file de mrtg
- Codage ascii - Guide
- Codage binaire - Guide
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
6 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 11:49
10 avril 2008 à 11:49
Salut,
la commande
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
la commande
file /var/www/mrtg/mrtg.logte 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]);
pianoclassique
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
4
10 avril 2008 à 11:57
10 avril 2008 à 11:57
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).
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 13:29
10 avril 2008 à 13:29
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
pianoclassique
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
4
10 avril 2008 à 14:01
10 avril 2008 à 14:01
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
06/11/2002 08:31:21 -----------------------------------------> 1036567881;
S'il vous plai c'est trés important pour moi, essay de m'aider....................merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
10 avril 2008 à 14:19
10 avril 2008 à 14:19
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 --------------------------------------------------
pianoclassique
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
4
10 avril 2008 à 14:45
10 avril 2008 à 14:45
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..........................
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..........................