Oula oula! j'ai mal au crâne!![]()
Une journée sur un bout de script ... et toujours des problèmes.
Bonjour a tous; voila j'annonce:
On a un fichier avec des données du type:
Et j'ai un script que j'ai pu créer il y a quelque jours grâce à vous (du moins ceux qui m'ont aider):09:00:36.397170 IP 192.168.X.X.50782 > mtlxxxx.mtl.xxxxxx.fr.snmptrap: C=orsay Trap(52) E:cisco.1.359 192.168.X.X authenticationFailure 2589950544 [|snmp]
09:22:54.885940 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=5 500893300 E:[|snmp]
09:23:28.463050 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=2 500896400 E:[|snmp]
09:23:30.418903 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=1 500896580 E:[|snmp]
09:23:30.424026 IP 192.168.X.X.snmp > 255.255.255.255.snmptrap: Trap(49) E:683.6 192.168.X.X enterpriseSpecific s=5 500896580 E:[|snmp]
mais voila, j'obtiens des données du type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #!/bin/sh killall tcpdump FILESNMP=/var/SNMPlog FILEALARM=/var/alarm.txt cat $FILESNMP | awk '{print substr ($1,1,8), $9, $10}' | uniq >> $FILEALARM #cat $FILESNMP | cut -f 1,11,12 -d " " | sed "s/\.[0-9]*/ /" >> $FILEALARM #les deux commandes fonctionnent tcpdump port 162 >> $FILESNMP
09:00:36 192.168.X.X authenticationFailure //bien
09:22:54 enterpriseSpecific s=5 //pas bien
09:23:28 enterpriseSpecific s=2 //pas bien
09:23:30 enterpriseSpecific s=1 //pas bien
09:23:30 enterpriseSpecific s=5 //pas bien
Bon, voila, la première ligne j'obtiens ce que je veux, c'est à dire, l'heure, l'adresse, et le problème. mais après ce n'est pas le cas. Le problème venant du fait que les messages ne sont pas les mêmes.
en effet, les données sont décalés.
Comment faire alors en une ou plusieurs commande pour toujours recupérer les données voulu quelque soit le type de messages dans le fichier...
ah oui, en effectuant un:
cat $FILESNMP | awk '{print substr ($1,1,8), $8, $9}' | uniq >> $FILEALARM
mon script se bloque, et je sais pas pourquoi...
Bref, des petits soucis.
Partager