PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausgabe von apt upgrade mailen



yops
03.01.08, 12:56
Shellscripting ist leider so gar nicht mein Ding und von daher komme ich nicht weiter...

Ich möchte mittels Cronjob "aptitude upgrade -svy" täglich laufen lassen und sollte aptitude die Meldung "The following packages will be upgraded:" bringen, möchte ich darüber an eine externe Mailadresse informiert werden.

Kann mir jemand dabei helfen?

Danke und Gruß
Andreas

PS: Cron-Apt möchte ich nicht verwenden, da ich dafür nirgendwo eine vernünftige Anleitung gefunden habe.

marce
03.01.08, 13:25
Variante 1: Ausgabe umleiten in eine Datei, diese dann per Mail versenden
Variante 2: in der cron-Konfiguration die gewünschte eMail-Adresse eintragen
Variante 3: eMails an root (da sollte das eh schon landen) an die gewünschte eMailadresse weiterleiten (dort kommt dann aber alles an)

Mehr fällt mir spontan nicht ein - es gibt aber sicherlich noch ein einiges an Optionen...

zyrusthc
03.01.08, 13:35
Ungetestet:

#!/bin/sh

TEMP=$(mktemp)
aptitude upgrade -svy > $TEMP
TEST=$(cat $TEMP | grep "The following packages will be upgraded:")

if [ "$TEST" ]; then
cat $TEMP | mail -s "Updates available" root@localhost
fi

rm -f $TEMP


Greeez Oli

marce
03.01.08, 13:37
Zwei Dinge :-)

(1) evtl. noch stderr umleiten?
(2) Useless-use-of-cat-Award?

yops
03.01.08, 13:49
Ich danke euch erstmal. So ein Shellscript wie von Oli würde mir schon gut gefallen :) Leider bringt es noch nicht den erhofften Erfolg. Er legt zwar die Temp-Datei an, aber er versendet nicht?

@marce: "(2) Useless-use-of-cat-Award?" ???

zyrusthc
03.01.08, 13:53
Ist die Temp Datei leer ?

Greeez Oli

yops
03.01.08, 14:05
Ist die Temp Datei leer ?

Greeez Oli
Nein, ist der komplette Output von "aptitude upgrade" drin

marce
03.01.08, 14:06
welche eMail-Adresse hast Du angegeben? Kann der Rechner von der Konsole aus Mails versenden? Was steht im MailLog?

yops
03.01.08, 14:15
HAAAAAAAAAAAAAAAAAAAAALT!!!!!!!! Kommando zurück!!! Es funzt :)
Der Mailversand hat nur ewig gedauert (merkwürdigerweise hat dieser nur an die externe Adresse funktioniert und nicht lokal an root...

Ich danke euch :)

Viele Grüße
Andreas