Logdatei per E-Mail versenden (Linux)

Vor einigen Jahren habe ich mal ein kleinen Codeschnipsel zusammengebastelt (kopiert) um mir eine Logdatei per E-Mail zusenden zu lassen. Lange Zeit habe ich diesen Schnipsel immer wieder kopiert und in anderen Shellscripten wieder verwendet. Heute habe ich ein Shellscript geschrieben, dessen log ich mir gern per E-Mail zusenden lassen wollte. Allerdings fand ich nun endgültig meine alte Variante für zu lang:

### Akutelles Protokoll per Email versenden
mail=/tmp/mail.tmp

WHAT=”/usr/lib/sendmail”
MAIL_ADR1=”peter@lustig.de”
TXL=” ”
echo “From: foo@bar.com” > $mail
echo “Subject: Logdatei von foo” >> $mail
echo $TXL >> $mail
cat /var/log/bar.log >> $mail
echo $TXL >> $mail
# cat $mail

($WHAT “$MAIL_ADR1″ < $mail
)&

rm $mail

Hier nun mein neuer 4 Zeiler, der das Ganze genau so zuverlässig erledigt und nun auch in allen zukünftigen wie auch alten Scripten eingesetzt werden wird:

subject=”Logdatei von foo”
mailadresse=”peter@lustig.de”
datei=”/var/log/bar.log”

cat $datei | mail -s “$subject” $mailadresse

Nachtrag: Die Variablen subject muss in Anführungszeichen beim mail-Aufruf gesetzt werden, da es sonst zu Fehlern kommt, wenn die Betreffzeile Leerzeichen enthält. Es sind auch mehrere Empfänger möglich. Hier sind keine Anführungszeichen erforderlich, da mail eine einfach Liste mit Leerzeichen getrennt akzeptiert. Der Artikel wurde entsprechend angepasst.

3 Reaktionen zu “Logdatei per E-Mail versenden (Linux)”

  1. Christoph

    Du kleiner Hacker!

  2. pc-nICo

    *lol*

  3. BETAcarotin Blog » Artikel-Archiv » Protokolldatei per E-Mail versenden (Update)

    [...] einfach eine Protokolldatei unter Linux per E-Mail versenden kann. Heute ein kleiner Nachtrag zum Beitrag vom 20.06.08. Soeben habe ich auf der CentOS-DE Mailinglist gelesen, dass das Programm mail nicht in der Lage [...]

Einen Kommentar schreiben

Too Cool for Internet Explorer