Veröffentlicht 30. November 200123 j hallo leute, ich habe da ein kleines problem beim erstellen eines scripts. ich habe eine linuxfirewall und ich moechte mir jeden tag das logfile messages auf meinen windowsrechner schicken. es sollte aber nicht das ganze messages file sein, sondern nur die eintraege vom aktuellen tag. beispiel: # !/bin/sh # cat /var/log/messages |grep "heutiger tag" |mail -s logfile emailadresse gruss tt ps: ich weiss am einfachsten jeden tag auf der firewall selber nachschauen und nicht auf ein wi.. wiiiii..ndowsrechner schicken
30. November 200123 j schau dir mal logsurfer ( ftp://ftp.cert.dfn.de/pub/tools/audit/logsurfer/ ) Das wertet dir /var/log/messages aus und das Ergebniss kannst du dir ja dann zuschicken lassen. >ps: ich weiss am einfachsten jeden tag auf der firewall >selber nachschauen und nicht auf ein wi.. >wiiiii..ndowsrechner schicken stimmt! Cya
30. November 200123 j Wie wärs damit: #/bin/sh echo -n -e "cat /var/log/messages|grep \042" > /tmp/lala.sh date +"%b %d">>/tmp/lala.sh echo -e "\b\042| mail -s Logfile root" >>/tmp/lala.sh chmod +x /tmp/lala.sh /tmp/lala.sh rm /tmp/lala.sh Das \042 stellt ein Anführungszeichen (octal) dar. Da ich nicht weiß auf welchen System du arbeitest, kann es sein, dass die bei dir woanderst liegen. Gruß Hardcoder
30. November 200123 j Im Logfile steht am Anfang Monat und Tag in der Form z.B. für Heute: Nov 30 Das kannst du ermitteln über date -d yesterday +"%b %d" (du willst das Script ja erst am Folgetag aufrufen) Da dieser Text am Anfang steht, gibtst du dem grep noch ein ^ mit auf dem weg. Also: #!/bin/sh MATCH=`date -d yesterday +"%b %d"` LOG="/var/log/messages" MAILTO="user@host.de" grep "^${MATCH}" ${LOG} | mailx -s "Log vom ${MATCH}" ${MAILTO} exit 0
5. Dezember 200123 j danke fuer die zahlreiche hilfe, werde einfach mal alles testen und das mir einfachste aussuchen. danke nochmals.... gruss tt
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.