Mail-Funktion in einem Shellscript

Post Reply
Message
Author
microdemis
Posts: 4
Joined: 25. Jul 2003 10:20
Location: Hildesheim

Mail-Funktion in einem Shellscript

#1 Post by microdemis »

Hallo!

Ich möchte, dass ein Script mir die Nachricht zustellt, sobald auf einer Platte ein bestimmter Wert unterschritten wird. Der MTA arbeitet problemlos, bei Eingabe von Hand geht alles bestens. Nur mit Ablauf des Scriptes muss ich manuell einen Punkt für EOT einfügen - was die Verarbeitung via Cron-Job unmöglich macht.
Ist das einfach ein Maskierungsproblem, oder hakt's ganz wonanders?

--- schnipp ---

free_hda3=$(df -m /dev/hda3 | grep dev | awk '{print $4}')
if
(($free_hda3<2000));
then
mail -s "Wenig verbleibender HDD-Platz auf 192.168.120.26" meine@adresse.de;

.

fi

--- schnapp ---

Danke für jeden Hinweis.

Gruss

Andre
Distrubation? So eine Mischung aus Distribution und Masturbation? Ein ****es Linux eben? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

User avatar
max
Posts: 806
Joined: 14. May 2000 12:55
Location: Ruhrpott

Re: Mail-Funktion in einem Shellscript

#2 Post by max »

mache
echo $free_hda3| mail -s "Wenig verbleibender HDD-Platz auf 192.168.120.26" meine@adresse.de

Gruss Max

Michael

Re: Mail-Funktion in einem Shellscript

#3 Post by Michael »

oda

mail -s "Wenig verbleibender HDD-Platz auf 192.168.120.26" meine@adresse.de < /dev/null

Cheers

Michael

User avatar
max
Posts: 806
Joined: 14. May 2000 12:55
Location: Ruhrpott

Re: Mail-Funktion in einem Shellscript

#4 Post by max »

oder
mail -s "Wenig verbleibender HDD-Platz auf 192.168.120.26" meine@adresse.de <<EOM
Bla Bla Bla
Blub

EOM

;<!--no-->-)

(EOM= End Of Mail)
*g*
wer bietet mit?
Max

microdemis
Posts: 4
Joined: 25. Jul 2003 10:20
Location: Hildesheim

Re: Mail-Funktion in einem Shellscript

#5 Post by microdemis »

Genau sowas hab ich gesucht!

Thx für die prompte Hilfe!
Distrubation? So eine Mischung aus Distribution und Masturbation? Ein ****es Linux eben? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

arno

Re: Mail-Funktion in einem Shellscript

#6 Post by arno »

hi @Andre

interessantes script.
würdest du das ganze posten.
bzw. wie man es macht das er mehrer partitionen checkt.
danke
mfg
arno

microdemis
Posts: 4
Joined: 25. Jul 2003 10:20
Location: Hildesheim

Re: Mail-Funktion in einem Shellscript

#7 Post by microdemis »

@ Arno:

Script kann ich morgen gerne posten - hab's gerade nicht hier.

Für mehrere Partitionen musst Du nur die if - then Klausel dementsprechend erweitern (wenn's zuviel wird halt case nutzen), und vorher natürlich mit

variablenname=$(df -m /dev/name | grep dev | awk '{print $4}')

die Variable deklarieren.
Distrubation? So eine Mischung aus Distribution und Masturbation? Ein ****es Linux eben? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

arno

Re: Mail-Funktion in einem Shellscript

#8 Post by arno »

danke

mfg
arno

microdemis
Posts: 4
Joined: 25. Jul 2003 10:20
Location: Hildesheim

Re: Mail-Funktion in einem Shellscript

#9 Post by microdemis »

@ Arno:

Hier nun endlich das Script: (Hinweis und Anmerkungen natürlich gerne gesehen)


#!/bin/sh

devicename=$(df -m /dev/hda3 | grep dev | awk '{print $1}')
hdd_used=$(df -m /dev/hda3 | grep dev | awk '{print $3}')
hdd_total=$(df -m /dev/hda3 | grep dev | awk '{print $2}')
ip=$(ifconfig eth0 | grep 'inet addr' | awk '{print $2}' |sed -e 's/.*://')
free_hda3=$(df -m /dev/hda3 | grep dev | awk '{print $4}')
notifyamount=2000

if
(($free_hda3<notifyamount))
then

mail -s "Speicherplatzproblem auf $ip" abc@def.de <<EOM

Freier, verbleibender Speicherplatz auf $devicename ist $free_hda3 MB von $hdd_total MB.
Daraus ergibt sich eine Verwendung von $hdd_used MB.

EOM
fi
Distrubation? So eine Mischung aus Distribution und Masturbation? Ein ****es Linux eben? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

arno

Re: Mail-Funktion in einem Shellscript

#10 Post by arno »

@andre

zuerstmal vielen dank.
naja meine weiterentwicklung schaut etwas anders aus (*gg* extremer script anfänger)
mfg
arno


#!/bin/sh
free_hdb1=$(df -m /dev/hdb1 | grep dev | awk '{print $4}')
free_md2=$(df -m /dev/md2 | grep dev | awk '{print $4}')

if
(($free_hdb1<20000));
then
echo "es sind nur mehr $free_hdb1 MB auf /dev/hdb1 frei"| mail -s "Wenig verbleibender HDD-Platz auf host.meindomain.at" hostmaster@meindomain.at
fi
if
(($free_md2<20000));
then
echo "es sind nur mehr $free_md2 MB auf /dev/md2 frei"| mail -s "Wenig verbleibender HDD-Platz auf host.meinedomain.at" hostmaster@meindomain.at

fi

Post Reply