PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Debian: Systemstatus per E-Mail



Gargi
04.02.2009, 06:30
Wer sich Temperaturen, Auslastung etc. zumailen lassen möchte, baut sich einfach ein kleines Script und lässt sich das via crontab alle 2 Stunden durchlaufen. Dazu muss ein MTA ( sendmail, exim4 etc.) konfiguriert sein und hddtemp nebst lm-sensors installiert sein.

Dann legen wir ein neues Script an:


touch /bin/status

und machen dies ausführbar:


chmod +x /bin/status

Das füllen wir mit folgenden Inhamlt (entsprechend die E-Mailadresse im Script anpassen:


#!/bin/sh

rm /var/log/status.log


echo "Statusanzeige" >> /var/log/status.log
date >> /var/log/status.log
uname -a >> /var/log/status.log
uptime >> /var/log/status.log
echo "" >> /var/log/status.log
sensors | grep Temp >> /var/log/status.log
echo "" >> /var/log/status.log
echo "Festplattentemperatur" >> /var/log/status.log
hddtemp /dev/sda >> /var/log/status.log
echo "" >> /var/log/status.log
free >> /var/log/status.log
echo "" >> /var/log/status.log
df -h >> /var/log/status.log
mail -a "Content-Type: text/plain; charset=UTF-8" -s "[System] Status" meine @ mailadresse . de < /var/log/status.log

In die /etc/crontab tragen wir dann folgende Zeile ein:


0 */2 * * * root /bin/status > /dev/null

Das schickt uns dann alle 2 Stunden eine E-Mail, die wie folgt aussehen könnte:


Statusanzeige
Wed Feb 4 06:00:01 CET 2009
Linux 2.6.28.3 #1 SMP Mon Feb 2 21:38:12 CET 2009 x86_64 GNU/Linux
06:00:01 up 6:38, 0 users, load average: 0.00, 0.00, 0.00

Chip Temp: +45.0 C (low = -127.0 C, high = +127.0 C)
CPU Temp: +58.0 C (low = -127.0 C, high = +127.0 C)
Sys Temp: +53.0 C (low = -127.0 C, high = +127.0 C)

Festplattentemperatur
/dev/sda: SAMSUNG HM320JI: 42 C

total used free shared buffers cached
Mem: 2052676 434552 1618124 0 22344 292476
-/+ buffers/cache: 119732 1932944
Swap: 1951856 0 1951856

Filesystem Size Used Avail Use% Mounted on
/dev/sda2 46G 6.4G 38G 15% /
tmpfs 1003M 0 1003M 0% /lib/init/rw
udev 10M 64K 10M 1% /dev
tmpfs 1003M 0 1003M 0% /dev/shm
/dev/sda3 246G 840M 233G 1% /home


cu
Gargi

Smurphy
04.02.2009, 10:06
Hehe ...

jaja - das alte Systat Problem.
Habe das seit Unizeiten im einsatz. Allerdings hatte ich es etwas spartanischer gemacht.
Im Anhang mein Systat Script. Runterladen, in systat.sh umbennen, ausfuehrbar machen, und Crontab einrichten.
Am besten einfach mal so als root aufrufen, ob auch alles stimmt was gesammelt werden soll.

Wird bei mir mittels Crontab in /etc/cron.d/systat

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

5 2 * * * root /usr/local/bin/systat.sh | /usr/bin/mail -s "`hostname` System Status report `
date`" root


ausgefuehrt - und ich habe jeden tag einen System Statusbericht.
PS: Fuegt da auch eure Partitionsdaten ein - da diese am wichtigsten sind - solltet ihr mal eure Partitionstabelle zerschiessen.

Gargi
04.02.2009, 12:33
Hey cool! Das bietet natürlich noch wesentlich mehr Infos!

cu
Gargi

Gargi
28.02.2009, 23:04
Kleinen Fehler im Script oben behoben. Hatte ein " zu viel drin ;)

cu
Gargi