Ausgaben mehrere Scripte per E-mail versenden

Bash, Shell, PHP, Python, Perl, CGI
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck

Ausgaben mehrere Scripte per E-mail versenden

Post 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.
thorsten
Posts: 561
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: Ausgaben mehrere Scripte per E-mail versenden

Post 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
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck

Re: Ausgaben mehrere Scripte per E-mail versenden

Post by nyxus »

Thorsten wrote:Speichere dir doch den Output der Programme in Variablen:
och nee, auf die einfachsten Sachen kommt man manchmal nicht ... danke.
chris76
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering

Re: Ausgaben mehrere Scripte per E-mail versenden

Post 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
User avatar
nyxus
Posts: 626
Joined: 2002-09-13 08:41
Location: Lübeck

Re: Ausgaben mehrere Scripte per E-mail versenden

Post 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.
chris76
Posts: 1878
Joined: 2003-06-27 14:37
Location: Germering

Re: Ausgaben mehrere Scripte per E-mail versenden

Post 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