/ 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
stderr samt cronjobs
Fra : Martin Johansen [600~


Dato : 16-12-04 00:10

Hey

Jeg sidder og leger lidt med min MTA.

Jeg er kommet så langt at jeg kan få stdout + stderr sendt i en mail til
mig hvis jeg gør dette:

command 2>&1 | mail -s "emne" mig

Hvis jeg kun ønsker stderr fandt jeg dette:
(command 3>&1 1>&2 2>&3 3>&-) | mail -s "emne" mig

Men.. hvis der ingen errors er får jeg en tom mail - kan man ikke få den
til kun at sende en mail hvis der er errors?

Jeg har et updatescript til apt-get lavet i /bin/sh syntax. Det er et
meget simpelt et med et par apt-get'er adskilt af &'s.
Hvis jeg vil have dette udført af cron burde det så ikke være nok at
lægge det ind i /etc/cron.daily fx? Jeg synes det er lidt som om systemet
vælger at den ene dag har den lyst til at køre det og den anden dag
gider det sq ikke rigtig... (alle de andre jobs virker fint) - og ja jeg
har kørt chmod +x

--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Registered Linux User # 301406 (http://counter.li.org)
http://www.spreadfirefox.com - Get Firefox!


 
 
Michael Knudsen (16-12-2004)
Kommentar
Fra : Michael Knudsen


Dato : 16-12-04 01:11

On 2004-12-15, Martin Johansen [6000] <visit_tuxx.dk@for.contactinfo> wrote:
> Men.. hvis der ingen errors er får jeg en tom mail - kan man ikke få den
> til kun at sende en mail hvis der er errors?

Kom din kommando i et script ala dette:

   ERRFILE=$(mktemp /tmp/noget.XXXXXXX)
   trap 'rm -f $ERRFILE' 0 1 15

   # mere initialisering

   kommando 2> $ERRFILE

   # flere kommandoer

   if [ -s $ERRFILE ]; then
      mail -s "fancy subject" $USER < $ERRFILE
   fi

Mvh. Michael.
--
Rumour is information distilled so finely that it can filter through
anything.
-- (Terry Pratchett, Feet of Clay)

Martin Johansen [600~ (16-12-2004)
Kommentar
Fra : Martin Johansen [600~


Dato : 16-12-04 02:04

On Thu, 16 Dec 2004 00:10:35 +0000, Michael Knudsen wrote:

> Kom din kommando i et script ala dette:
>
>    ERRFILE=$(mktemp /tmp/noget.XXXXXXX)
>    trap 'rm -f $ERRFILE' 0 1 15
>
>    # mere initialisering
>
>    kommando 2> $ERRFILE
>
>    # flere kommandoer
>
>    if [ -s $ERRFILE ]; then
>       mail -s "fancy subject" $USER < $ERRFILE
>    fi

Det vil jeg prøve at lege lidt ud fra.

Tak indtil videre! :)

--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Registered Linux User # 301406 (http://counter.li.org)
http://www.spreadfirefox.com - Get Firefox!


Kasper Dupont (16-12-2004)
Kommentar
Fra : Kasper Dupont


Dato : 16-12-04 07:52

"Martin Johansen [6000]" wrote:
>
> Hvis jeg kun ønsker stderr fandt jeg dette:
> (command 3>&1 1>&2 2>&3 3>&-) | mail -s "emne" mig

Jeg kendte godt nok ikke >&-, hvor har jeg dog
længe ledt efter en måde at gøre det på.

>
> Men.. hvis der ingen errors er får jeg en tom mail - kan man ikke få den
> til kun at sende en mail hvis der er errors?

Tja, du kunne prøve at undersøge, hvordan cron,
batch og at gør. Ellers ville det være nemt at
skrive et program, der tager en mail på stdin
og piper videre til mail kommandoen, men som
først starter mail kommandoen hvis, der kommer
noget input.

>
> Jeg har et updatescript til apt-get lavet i /bin/sh syntax. Det er et
> meget simpelt et med et par apt-get'er adskilt af &'s.
> Hvis jeg vil have dette udført af cron burde det så ikke være nok at
> lægge det ind i /etc/cron.daily fx? Jeg synes det er lidt som om systemet
> vælger at den ene dag har den lyst til at køre det og den anden dag
> gider det sq ikke rigtig... (alle de andre jobs virker fint) - og ja jeg
> har kørt chmod +x

Giver /var/log/cron nogen hints om, hvad der
foregår?

--
Kasper Dupont

Martin Johansen [600~ (16-12-2004)
Kommentar
Fra : Martin Johansen [600~


Dato : 16-12-04 11:30

On Thu, 16 Dec 2004 07:51:51 +0100, Kasper Dupont wrote:

> Jeg kendte godt nok ikke >&-, hvor har jeg dog længe ledt efter en måde
> at gøre det på.

Jeg måtte godt nok også lede længe efter den.. det er som om det ikke
er så populært så det er ikke lige den Google popper op med med det
samme.

> Tja, du kunne prøve at undersøge, hvordan cron, batch og at gør.

Jeg vil se om jeg kan kigge dem over skulderen :)

> Giver /var/log/cron nogen hints om, hvad der foregår?

Ikke hvad jeg husker (det er et stykke tid siden nu) men jeg har added
til root's crontab istedet for via crontab -e og det ser ud til at virke
som det skal nu.

--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Registered Linux User # 301406 (http://counter.li.org)
http://www.spreadfirefox.com - Get Firefox!


Niels Baggesen (16-12-2004)
Kommentar
Fra : Niels Baggesen


Dato : 16-12-04 10:29

Martin Johansen [6000] <visit_tuxx.dk@for.contactinfo> wrote:
> Jeg er kommet så langt at jeg kan få stdout + stderr sendt i en mail til
> mig hvis jeg gør dette:

> command 2>&1 | mail -s "emne" mig

> Hvis jeg kun ønsker stderr fandt jeg dette:
> (command 3>&1 1>&2 2>&3 3>&-) | mail -s "emne" mig

Er det ikke nok med
command 2>&1 1>&- | mail -s "emne" mig

?? Men nej, mail har ikke en option til at undertrykke en tom mail!

> Jeg har et updatescript til apt-get lavet i /bin/sh syntax. Det er et
> meget simpelt et med et par apt-get'er adskilt af &'s.

Du mener &&'s, ikke? Ellers ender du med med noget der kører
ukontrolleret i baggrunden

/Niels

--
Niels Baggesen -- @home -- Århus -- Denmark -- niels@baggesen.net
The purpose of computing is insight, not numbers -- R W Hamming

Martin Johansen [600~ (16-12-2004)
Kommentar
Fra : Martin Johansen [600~


Dato : 16-12-04 11:31

On Thu, 16 Dec 2004 09:29:08 +0000, Niels Baggesen wrote:

> Er det ikke nok med
> command 2>&1 1>&- | mail -s "emne" mig

Jeg prøver :)

> Du mener &&'s, ikke?

Jo :) Jeg fik bare ikke lige ramt nr. 2

> Ellers ender du med med noget der kører
> ukontrolleret i baggrunden

Nemlig.

--
Martin Johansen [6000]
http://tuxx.dk - "Carpe Aptenodytes!"
Registered Linux User # 301406 (http://counter.li.org)
http://www.spreadfirefox.com - Get Firefox!


Kasper Dupont (16-12-2004)
Kommentar
Fra : Kasper Dupont


Dato : 16-12-04 11:47

Niels Baggesen wrote:
>
> Er det ikke nok med
> command 2>&1 1>&- | mail -s "emne" mig

Det er nok en dårlig idé at lukke stdout. Men måske
command 2>&1 1>/dev/null | mail -s "emne" mig
ville virke som ønsket.

--
Kasper Dupont

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

Månedens bedste
Årets bedste
Sidste års bedste