STDERR auf logger umleiten

22/10/2008 - 14:38 von Jakobus Schuerz | Report spam
Ich hab ein Skript, von dem ich Fehlermeldungen in syslog umleiten
möchte (dort werden sie in einem eigenen Logfile gesammelt)

Jetzt hab ich aber das Problem, dass ich die Ausgabe von stdout am
Schirm lassen möchte, und nur stderr in den logger bringen möchte.

Wie habe ich da vorzugehen?

lg jakob
The UNIX way of Sex:
gunzip-strip-touch-finger-mount-fsck-more-yes-umount-sleep
 

Lesen sie die antworten

#1 Paul Hink
22/10/2008 - 15:14 | Warnen spam
Jakobus Schuerz wrote:

Ich hab ein Skript, von dem ich Fehlermeldungen in syslog umleiten
möchte (dort werden sie in einem eigenen Logfile gesammelt)

Jetzt hab ich aber das Problem, dass ich die Ausgabe von stdout am
Schirm lassen möchte, und nur stderr in den logger bringen möchte.

Wie habe ich da vorzugehen?



In einem bash-Script ginge das z.B. so:

| #!/bin/bash
| { {
| # hierhin das eigentliche Script
| } 3>&2 2>&1 1>&3 | logger; } 2>&1

Oder das eigentliche Script in eine Funktion verpacken (z.B. "main")
und diese dann so aufrufen:

| { main 3>&2 2>&1 1>&3 | logger; } 2>&1

Ähnliche fragen