/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Mail når en bestemt linie optræder i en lo~
Fra : Christian Andersen


Dato : 13-12-01 19:27

Hejsa.

Jeg synes det kunne være fedt, hvis jeg kunne få en mail/SMS når en
bestemt linie optræder i en af mine logfiler. F.eks. når en bestemt fil
hentes fra min webserver.

Jeg har kigget på følgende:

$ cat access_log |grep foo && mail -s foo! [mobilnummer]@sms.tdm.dk

Og det går fint så længe foo IKKE er i loggen. Hvis den er der, printes
outputtet fra grep på skærmen og konsollen(?) hænger indtil jeg
afslutter med ctrl-c.

Desuden har jeg regnet ud at hvis jeg kører ovenstående kommando med
crontab, vil jeg få en mail hver gang den køres, efter linien har været
der første gang.

Skal jeg ud i noget shell-programmering (som jeg ikke fatter en lyd af)
eller noget Perl (som jeg fatter endnu mindre af)?

Jeg er dog villig til at lære, hvis det skal være. Skal det være?

--
Tina Dickow - Fuel. Et album du MÅ eje!

http://chran.dyndns.dk - Nu med billeder af Tina Dickow!

 
 
Claus Alboege (13-12-2001)
Kommentar
Fra : Claus Alboege


Dato : 13-12-01 20:26

Christian Andersen <m4jni76ztglp001@sneakemail.com> writes:

> Hejsa.
> Jeg synes det kunne være fedt, hvis jeg kunne få en mail/SMS når en
> bestemt linie optræder i en af mine logfiler. F.eks. når en bestemt fil
> hentes fra min webserver.

> Jeg har kigget på følgende:

> $ cat access_log |grep foo && mail -s foo! [mobilnummer]@sms.tdm.dk

> Og det går fint så længe foo IKKE er i loggen. Hvis den er der, printes
> outputtet fra grep på skærmen og konsollen(?) hænger indtil jeg
> afslutter med ctrl-c.

> Desuden har jeg regnet ud at hvis jeg kører ovenstående kommando med
> crontab, vil jeg få en mail hver gang den køres, efter linien har været
> der første gang.

> Skal jeg ud i noget shell-programmering (som jeg ikke fatter en lyd af)
> eller noget Perl (som jeg fatter endnu mindre af)?

> Jeg er dog villig til at lære, hvis det skal være. Skal det være?

Du kan prøve at tage et kig på:

http://smarden.org/socklog/notify.html

Det fungerer fint her, men kræver en smule tilpasning.
(Om ikke andet kan du måske få glæde af "uncat")

http://smarden.org/socklog/uncat.1.html

/Claus A

frank damgaard (13-12-2001)
Kommentar
Fra : frank damgaard


Dato : 13-12-01 20:25

Christian Andersen <m4jni76ztglp001@sneakemail.com> wrote:

> Jeg synes det kunne være fedt, hvis jeg kunne få en mail/SMS når en
> bestemt linie optræder i en af mine logfiler. F.eks. når en bestemt fil
> hentes fra min webserver.

> Jeg har kigget på følgende:

> $ cat access_log |grep foo && mail -s foo! [mobilnummer]@sms.tdm.dk
......
> Skal jeg ud i noget shell-programmering (som jeg ikke fatter en lyd af)
> eller noget Perl (som jeg fatter endnu mindre af)?

Ja.
> Jeg er dog villig til at lære, hvis det skal være. Skal det være?

ja. lidt simpel shell programmering er ikke så slemt,
det er i princip som dos kommandoer i batch filer,
blot kan man en hel del mere.


F.eks:

#!/bin/sh
#

FIL=/var/log/httpd/access_log
FIND=foo
TMPD=/tmp/sms_grep_data.$$

if grep "$FIND" "$FIL" > "$TMPD" ; then
# fundet
mail -s "foo!" mobilnummer@sms.tdm.dk < "$TMPD"
#else
# echo not found
fi

#slet den temporære fil:
if [ -e "$TMPD" ] ; then
rm "$TMPD"
fi

Nu kan de data du sender komme til at fylde meget og der er jo max
ca. 160 tegn, så måske følgende er bedre:

head -2 "$TMPD" | mail -s "foo!" mobilnummer@sms.tdm.dk


--
no signature :)

Alex Holst (13-12-2001)
Kommentar
Fra : Alex Holst


Dato : 13-12-01 20:28

Christian Andersen <m4jni76ztglp001@sneakemail.com> wrote:
> Jeg synes det kunne være fedt, hvis jeg kunne få en mail/SMS når en
> bestemt linie optræder i en af mine logfiler. F.eks. når en bestemt fil
> hentes fra min webserver.

logcheck og logsurfer kan begge en masse smarte ting baseret paa logfils
analyse. Ingen grund til at opfinde hjulet igen.

--
I prefer the dark of the night, after midnight and before four-thirty,
when it's more bare, more hollow. http://a.area51.dk/


Christian Andersen (13-12-2001)
Kommentar
Fra : Christian Andersen


Dato : 13-12-01 23:36

Christian Andersen wrote:

>Jeg synes det kunne være fedt, hvis jeg kunne få en mail/SMS når en
>bestemt linie optræder i en af mine logfiler. F.eks. når en bestemt fil
>hentes fra min webserver.

Tak for svarene til alle.

Jeg kigger på det her i weekenden.

--
Tina Dickow - Fuel. Et album du MÅ eje!

http://chran.dyndns.dk - Nu med billeder af Tina Dickow!

Jacob Gaarde (16-12-2001)
Kommentar
Fra : Jacob Gaarde


Dato : 16-12-01 01:22



Christian Andersen wrote:

> Hejsa.
>
> Jeg synes det kunne være fedt, hvis jeg kunne få en mail/SMS når en
> bestemt linie optræder i en af mine logfiler. F.eks. når en bestemt fil
> hentes fra min webserver.
>
> Jeg har kigget på følgende:
>
> $ cat access_log |grep foo && mail -s foo! [mobilnummer]@sms.tdm.dk

>
> Og det går fint så længe foo IKKE er i loggen. Hvis den er der, printes
> outputtet fra grep på skærmen og konsollen(?) hænger indtil jeg
> afslutter med ctrl-c.



hvis du ikke er interesseret i indholdet <f de(n) linie(r) med odet
"foo", men kun i forekomsten af "foo" :

#!/bin/bash
if [ `cat access_log |grep -ic foo` ] ; then
   mail -s foo! [mobilnummer]@sms.tdm.dk
fi


-c giver count
-i giver ignore case




>
> Desuden har jeg regnet ud at hvis jeg kører ovenstående kommando med
> crontab, vil jeg få en mail hver gang den køres, efter linien har været
> der første gang.
>
> Skal jeg ud i noget shell-programmering (som jeg ikke fatter en lyd af)
> eller noget Perl (som jeg fatter endnu mindre af)?
>
> Jeg er dog villig til at lære, hvis det skal være. Skal det være?
>
>


--
//Jacob Gaarde
//Dont reply to my (aparent) e-mail address. Instead Use
//e-mail : gaarde <at> mailserver <dot> dk


Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408885
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste