Page 1 of 1

Ausgaben mehrere Scripte per E-mail versenden

Posted: 2003-09-20 13:19
by nyxus
Ich lasse mir regelmäßig per Script Statusnachrichten senden.
Bisher habe ich das in mehreren Mails gemacht, was ich gerne zusammenfassen möchte.
Leider fällt mir kein Weg ein, die Ausgaben mehrerer Porgramme in einen mail-Aufruf zu sammeln, ohne über eine temporäre Datei zu gehen. Wisst ihr wie man das machen könnte?

Beispiel:
Die Ausgaben von "uptime" und "free" sollen per Mail versendet werden ohne eine temp-Datei auf der Platte ablegen zu müssen.

Re: Ausgaben mehrere Scripte per E-mail versenden

Posted: 2003-09-20 13:46
by thorsten
Speichere dir doch den Output der Programme in Variablen:

Code: Select all

up=$(uptime)
free=$(free)
who=$(who)
echo -e "Uptime:n$upnnEingeloggte User:n$whonnSpeicher:n$free"
Ergibt in der Mail:

Code: Select all

Uptime:
 13:42:27 up 79 days, 20:11,  1 user,  load average: 0.00, 0.00, 0.00

Eingeloggte User:
root     pts/0        Sep 20 13:39 (p4544465432.dip0.t-ipconnect.de)

Speicher:
             total       used       free     shared    buffers     cached
Mem:        248636     216952      31684          0       6912     163576
-/+ buffers/cache:      46464     202172
Swap:       512024       7252     504772

Re: Ausgaben mehrere Scripte per E-mail versenden

Posted: 2003-09-20 17:09
by nyxus
Thorsten wrote:Speichere dir doch den Output der Programme in Variablen:
och nee, auf die einfachsten Sachen kommt man manchmal nicht ... danke.

Re: Ausgaben mehrere Scripte per E-mail versenden

Posted: 2003-09-20 17:23
by chris76
ähm noch einfacher oder?
mach ein script (hier mal als beispiel mit den Namen test)

Inhalt

Code: Select all

#!/bin/sh

/usr/bin/uptime
/usr/bin/free
und rufe es. z.b. so auf

Code: Select all

./test | mail -s "Meine Statusmeldung" name@domain.tld
Ist die einfachste variante, da brauchst du keine Variablen ?

Ciao Christian

Re: Ausgaben mehrere Scripte per E-mail versenden

Posted: 2003-09-20 21:12
by nyxus
chris76 wrote:ähm noch einfacher oder?
mach ein script (hier mal als beispiel mit den Namen test)
und rufe es. z.b. so auf

Code: Select all

./test | mail -s "Meine Statusmeldung" name@domain.tld
Ist die einfachste variante, da brauchst du keine Variablen ?
auch nicht schlecht. Ein Nachteil wäre aber, daß dann zwei Scripte rumliegen. Einmal das "test" und zusätzlich das Script in der cron.daily.
Aber man könnte es natürlich auch direkt täglich in der crontab aufrufen.

Jetzt frage ich mich natürlich mal wieder was die elegantere Methode ist.

Re: Ausgaben mehrere Scripte per E-mail versenden

Posted: 2003-09-21 11:57
by chris76
Das ganze muß ja nicht in der Cron.daily liegen, mach dir einfach mit crontab -e einen aufruf der es einaml täglich so startet.

Ciao Christian