/ 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
cron
Fra : Jan Larsen


Dato : 20-04-03 09:57

Hej

Hvad er forskelden på 2>&1 og /dev/null, og hvordan bruges de.
Er det ikke noget med at modtage mail fra et cron job hvis noget går galt
eller er jeg helt ved siden af :-/

Mvh Jan

 
 
Jan Larsen (20-04-2003)
Kommentar
Fra : Jan Larsen


Dato : 20-04-03 22:25

Jan Larsen wrote:

> Hej
>
> Hvad er forskelden på 2>&1 og /dev/null, og hvordan bruges de.
> Er det ikke noget med at modtage mail fra et cron job hvis noget går galt
> eller er jeg helt ved siden af :-/
>
> Mvh Jan

Det jeg gerne vil er at få jobbet gjort uden at modtage mail, med mindre der
er fejl eller jobbet ikke kan udføres.

Mvh Jan

Anders Wegge Jakobse~ (21-04-2003)
Kommentar
Fra : Anders Wegge Jakobse~


Dato : 21-04-03 09:24

"Jan" == Jan Larsen <jan@snubi.dk> writes:

> Jan Larsen wrote:
>> Hej
>>
>> Hvad er forskelden på 2>&1 og /dev/null, og hvordan bruges de.
>> Er det ikke noget med at modtage mail fra et cron job hvis noget går galt
>> eller er jeg helt ved siden af :-/
>>
>> Mvh Jan

> Det jeg gerne vil er at få jobbet gjort uden at modtage mail, med mindre der
> er fejl eller jobbet ikke kan udføres.

Forudsat at der kun kommer output på stderr, hvis programmet fejler,
kan du nøjes med at stdout til /dev/null:

kommando > /dev/null

Hvis du også er interesseret i stdout fra jobbet eller er ligeglad
med stderr, hvis der ikke returneres en fejl, er du nødt til at wrappe
dit job i et script:

cat > wrap.sh << EOT;
#!/bin/sh
#
# Undertryk output fra en kommando, hvis den ikke fejler.

TMPFILE=`/bin/mktemp tmpoutXXXXXX`
${*} > ${TMPFILE} 2>&1 || cat ${TMPFILE}
rm ${TMPFILE}
EOT;

Det centrale element i ovenstående er den logiske operator "||". Hvis
kommandoen returnerer true, behøver sh ikke at udføre kommandoen efter
"||", da hele udtrykket allerede er sandt.

Gem ovenstående et sted i din path, og ret din crontab til, så du
kalder wrap.sh istedet for dit job direkte, som det ses i før og efter
eksemplet nedenfor.

00 00 * * * /usr/sbin/tmpwatch -fa 240 /tmp
00 00 * * * wrap.sh /usr/sbin/tmpwatch -fa 240 /tmp

--
/Wegge <http://outside.bakkelygaard.dk/~wegge/>

Jan Larsen (01-05-2003)
Kommentar
Fra : Jan Larsen


Dato : 01-05-03 00:53


>> Det jeg gerne vil er at få jobbet gjort uden at modtage mail, med mindre
>> der er fejl eller jobbet ikke kan udføres.
>
> Forudsat at der kun kommer output på stderr, hvis programmet fejler,
> kan du nøjes med at stdout til /dev/null:
>
> kommando > /dev/null
>
> Hvis du også er interesseret i stdout fra jobbet eller er ligeglad
> med stderr, hvis der ikke returneres en fejl, er du nødt til at wrappe
> dit job i et script:
>
> cat > wrap.sh << EOT;
> #!/bin/sh
> #
> # Undertryk output fra en kommando, hvis den ikke fejler.
>
> TMPFILE=`/bin/mktemp tmpoutXXXXXX`
> ${*} > ${TMPFILE} 2>&1 || cat ${TMPFILE}
> rm ${TMPFILE}
> EOT;
>
> Det centrale element i ovenstående er den logiske operator "||". Hvis
> kommandoen returnerer true, behøver sh ikke at udføre kommandoen efter
> "||", da hele udtrykket allerede er sandt.
>
> Gem ovenstående et sted i din path, og ret din crontab til, så du
> kalder wrap.sh istedet for dit job direkte, som det ses i før og efter
> eksemplet nedenfor.
>
> 00 00 * * * /usr/sbin/tmpwatch -fa 240 /tmp
> 00 00 * * * wrap.sh /usr/sbin/tmpwatch -fa 240 /tmp

Nu har jeg prøvet med
0 1 * * * apt-get update 1> /dev/null

Og nu nodtager jeg kun mail hvis der er fejl.:)

Mvh Jan


Rasmus Bøg Hansen (01-05-2003)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 01-05-03 09:23

Jan Larsen <jan@snubi.dk> writes:

> 0 1 * * * apt-get update 1> /dev/null
>
> Og nu nodtager jeg kun mail hvis der er fejl.:)

I netop dette tilfælder virker "apt-get -qq update" lige så godt

/Rasmus

--
-- [ Rasmus "Møffe" Bøg Hansen ] ---------------------------------------
Is it safe?
Yes, it is perfectly safe - it is us, that are in trouble!
- Hitch Hikers Guide to the Galaxy, Douglas Adams
----------------------------------[ moffe at amagerkollegiet dot dk ] --

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

Månedens bedste
Årets bedste
Sidste års bedste