Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1356 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script sh de fichier log

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script sh de fichier log

n°1159331
666Maveric​k
Posté le 30-08-2009 à 00:07:34  profilanswer
 

Bonjour,
Je cherche à faire un script qui analyserait des fichiers logs pour ne récupérer pour le moment que les lignes qui m'intéressent.
 
Ce sont des logs du type :
[1243769124] HOST ALERT: serveur1;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 4.35 m
[1243769176] SERVICE ALERT: serveur2;CPU Load;OK;HARD;1;OK - load average: 0.00, 0.00, 0.00
 
Pour le moment, je cherche à récupérer les lignes qui se situent dans un intervalle de temps donné ainsi que le noms des serveurs correspondant aux noms présent dans un fichier.
 
J'ai réussi à faire celà en faisant une première commande qui me récupère le nom des serveurs et qui m'enregistre le résultat dans un fichier texte et ensuite en analysant le temps de ce nouveau fichier.
 
Cette solution n'est pas viable pour moi, car je peux avoir plus de 20Go de fichiers logs à parcourir. Cette méthode peut poser à terme un problème de place et de performances.
Il faudrait que je n'ai à parcourir mon fichier log qu'une seule fois.
 
J'ai fait pour filtrer le temps :
awk /temps de début/,/temps de fin/' chemin de mon fichier log (a terme ce sera un fichier contenant le nom de tous mes fichiers logs à analyser)
 
Pour filtrer par serveurs :
egrep `sed ':a;N;$!ba;s/\n/\|/g' /tmp/serveurs.txt` chemin de mon fichier log
 
Je n'arrive pas à trouver une solution pour faire les deux en une seule fois.
 
Quelqu'un aurait une idée ?
Je vous remercie.

mood
Publicité
Posté le 30-08-2009 à 00:07:34  profilanswer
 

n°1159394
twocats
Posté le 30-08-2009 à 12:31:11  profilanswer
 

Euh... Un pipe tout bête.


---------------
La réponse est 42
n°1159396
666Maveric​k
Posté le 30-08-2009 à 12:34:44  profilanswer
 

C'est pas bon. Déjà essayé.

n°1159417
twocats
Posté le 30-08-2009 à 13:53:40  profilanswer
 

666Maverick a écrit :

C'est pas bon. Déjà essayé.


Et pourquoi donc  :heink:


---------------
La réponse est 42
n°1159429
666Maveric​k
Posté le 30-08-2009 à 14:27:05  profilanswer
 

awk /temps de début/,/temps de fin/' chemin de mon fichier log | egrep `sed ':a;N;$!ba;s/\n/\|/g' /tmp/serveurs.txt` (avec ou sans le chemin du fichier log)
 
Il me retourne tous les logs de mon intervalle de temps. Il ne m'a pas pris en compte ma commande après le |


Message édité par 666Maverick le 30-08-2009 à 16:14:29

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  script sh de fichier log

 

Sujets relatifs
Recherche chaine dans un fichier texte avec script shellScript bash : récuperer des données dans un fichier
comment enchainer des sed sur un fichier scriptScript qui change l'extension d'un fichier
script shell sftp - vérification dépose fichierScript recherche de fichier
création d'un Script pour ajouter un mot de passe crypté dans fichier[script csh] Ecrire a la suite d'un fichier dans une condition
script création de comptes à partir d'un fichier excel[script] Date fichier
Plus de sujets relatifs à : script sh de fichier log


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR