log-auswertung

E

elzschiko

Grünschnabel
hallo,

da ich was shell-scripting angeht eigentlich keinen plan habe hoffe ich das ihr mir helfen könnt.
ich möchte aus der datei /var/log/messages die zeiten herausfiltern wenn mein linux-pc eine internet-verbindung aufbaut und beendet.
ich habe mir das so gedacht:

`grep 'ippp0 connected' /var/log/messages`
`grep 'hangup ippp0' /var/log/messages`

Apr 23 13:38:10 ipcop kernel: isdn_net: ippp0 connected
Apr 23 13:39:20 ipcop kernel: isdn_net: local hangup ippp0


jetzt brauch ich ja nur die datums und die uhrzeit..

`grep 'ippp0 connected' /var/log/messages | cut -b 1-16`
`grep 'hangup ippp0' /var/log/messages | cut -b 1-16`

Apr 25 21:57:40
Apr 25 22:00:11

so weit so gut - aber wie bekomme ich die einzelnen daten jetzt hintereinander in ein datei?
also so:

Apr 25 21:57:40 - Apr 25 22:00:11
Apr 25 22:05:00 - Apr 25 22:10:00

hat da jemand eine idee???


danke im voraus
daniel
 
con$ = "grep 'ippp0 connected' /var/log/messages | cut -b 1-16"
disk$ = "grep 'hangup ippp0' /var/log/messages | cut -b 1-16"

echo con$ & "-" & disk$ & "\n">> text.txt
 
Code:
grep -E 'ippp0 connected|hangup ippp0' /var/log/messages | cut -b 1-16  >internet.log
 
theborg schrieb:
con$ = "grep 'ippp0 connected' /var/log/messages | cut -b 1-16"
disk$ = "grep 'hangup ippp0' /var/log/messages | cut -b 1-16"

echo con$ & "-" & disk$ & "\n">> text.txt
und das soll Shellskripting sein? :think: :devil:

Oder so...
Code:
awk '/.*ippp0 connected$/ { print $1,$2,$3} /.*local hangup ippp0$/ { print $1,$2,$3}' /var/log/messages >internet.log
 
danke für die antworten...

die lösung von "theborg" funktioniert ja vorn und hinten nicht. trotzdem danke.

die beiden anderen sachenfunktionieren - leider nur zur hälfte.
ich habe die daten im logfile stehen aber nur untereinander.
start und endzeit sollten aber irgendwie hintereinander stehen...

lässt sich das noch irgendwie machen?


grüsse
daniel
 
man printf

ein bischen musst du auch selber machen oder soll dir hier einer das perfekte Script schreiben?
 
Probiers mal so:
Code:
awk '/.*ippp0 connected$/ { printf $1" "$2" "$3" - " } /.*local hangup ippp0$/ { print $1,$2,$3 }' /var/log/messages >internet.log
 

Ähnliche Themen

Problem mit SATA

Adressvergabe in anderen Subnets

Creative Labs SoundBlaster Audigy 2 ZS unter Debian / Kernel 3.16

Mein Server versendet SPAM in Massen

X startet nichtmehr

Zurück
Oben