Hilfe für Cronjob gesucht - Ausgabe in E-Mail umleiten

Status
Not open for further replies.

hok

Explorer
Joined
Dec 29, 2011
Messages
81
Hallo User,

würde mich freuen, wenn mir jemand bei einem Cronjob helfen könnte (mein Englisch ist zu schlecht, als daß ich die viell. einschlägigen engl. Hilfen lesen/verstehen könnte).

Was ich will: einen Cronjob über das Web-IF anlegen, der mir z.B. die SMART-Werte regelmäßig ausliest (cmartctl -a /dev/ada0 [und alle andern]) und diese per Mail an mich sendet.
Ich habe schon einiges probiert, scheitere aber schon an den einfachsten Dingen.
So gelingt mir zwar ein Cronjob, der Scrub anstößt, indem ich einfach die Syntax so wie auf der Konsole eintrage (zpool scrub Datenpool1) - jedoch will mir das bei smartctl nicht gelingen. Es passiert einfach nichts.
Und die Umlenkung in E-Mail - da habe ich überhaupt keinen Plan...

Gruß
h.

EDIT// Ich will meine Frage konkretisieren: ist das Zusenden einer Mail (z.B. auch des LOGs) grundsätzlich nur über Scripte zu lösen? Keine einfache Zeichenfolge in der Cron-Job-Einstellung in der GUI? Ich habe diese Nacht ein Script gefunden, was mir den scrub auslöst und eine Mail versendet. Das klappt sogar. ;) Ich habe das Script auf einem Pool abgelegt.
Dazu eine Zusatzfrage: Kann ich an FreeNAS einfach noch einen USB-Stick anstecken und dort die Scripte ablegen? So müssen nicht immer die Festplatten hochgefahren werden, wenn ein Cronjob ein Script ausführen will...
 

hok

Explorer
Joined
Dec 29, 2011
Messages
81
Ich antworte mir mal selbst, für die nächsten die Suchen.

So kann man es lösen:

Code:
#!/bin/sh

echo "Täglicher Report -- Mein-Server -- FreeNas 8.03" > /tmp/report.txt
echo ----------------------------------------------------------- >> /tmp/report.txt
echo >> /tmp/report.txt
	date >> /tmp/report.txt
echo >> /tmp/report.txt
echo ------------------------------------- >> /tmp/report.txt
echo "logdatei messages" >> /tmp/report.txt
echo ------------------------------------- >> /tmp/report.txt
echo >> /tmp/report.txt
echo >> /tmp/report.txt
	cat /var/log/messages >> /tmp/report.txt
echo >> /tmp/report.txt
echo >> /tmp/report.txt
echo ------------------------------------- >> /tmp/report.txt
echo "SMART ada0" >> /tmp/report.txt
echo ------------------------------------- >> /tmp/report.txt
echo >> /tmp/report.txt
echo >> /tmp/report.txt
	smartctl -a /dev/ada0 >> /tmp/report.txt
echo >> /tmp/report.txt
echo >> /tmp/report.txt
echo ------------------------------------- >> /tmp/report.txt
echo "SMART ada1" >> /tmp/report.txt
echo ------------------------------------- >> /tmp/report.txt
echo >> /tmp/report.txt
echo >> /tmp/report.txt
	smartctl -a /dev/ada1 >> /tmp/report.txt
echo >> /tmp/report.txt
echo >> /tmp/report.txt
	cat /tmp/report.txt | mail -s "Mein-Server - taeglicher Report" meine@mail.com
	rm /tmp/report.txt


Das hier exemplarisch für 2 Platten mit einer Formatierung und die messages auch gleich mit.
Das ganze als *.sh wohin speichern und durch einen Cronjob aufrufen lassen.

h.
 
Status
Not open for further replies.
Top