Gib einem Angler einen Fisch und er hat am Abend zu essen.
Lehre dem erfolglosen Angler das Fischen und er hat jeden Tag zu essen ...
Diese beiden Zeilen nur mal so, um aufzuzeigen, was mir wichtig ist.
Ich könnte ein fertiges Script hier reinstellen, wenn es aber hakt, dann wird es schwierig, sich zurecht zu finden.
Daher möchte ich das sprichwörtliche 'Silbertablett' eher vermeiden.
Im Prinzip benötigst Du zwei folgende Aufgaben auf LINUX-Basis.
1) Gucke, ob da eine Datei ist
2) Ist eine Datei da, dann schicke eine Mail
Kenntnisse? Ja, bissel Basiswissen, um sich auf der Konsole zu bewegen und mit der Shell zu arbeiten wäre eine feine Geschichte.
Bei mir gibt es einen gemeinsamen Ordner, in dem ich meine Shell-Scripte ablege. Das sind dann meine vielen kleinen Helferlein, mit denen ich auf meiner DS automatisiere. Den Ordner habe ich am PC als Laufwerk verbunden und kann komfortabel mit NOTEPAD++ die Scripte editieren, wenn ich mich nicht auf der Konsole bewegen möchte.
Dort könnte also nun ein Shell-Script 'durchsuche_uploadordner.sh' liegen.
Nehmen wir mal Das Script liegt in /ADMINSCRIPTE ...
Die erste Aufgabe könnte also wie folgt aussehen:
Rich (BBCode):
##### Zuerst gucken, ob Dateien da sind und ggfs. FLAG auf 1 setzen.
export SUCHDIRFLAG=0
for file in /FREIGABE/UPLOAD; do
if [ -f "${file}" ] ; then
export SUCHDIRFLAG=1
fi
done
Wenn es also in /FREIGABE/UPLOAD eine Datei gibt, dann haben wir mit SUCHDIRFLAG schon mal einen Merker gesetzt.
Hat der Merker die '0', dann kann das Script eigentlich sofort verlassen werden.
Hier suche mal, wie Du das erledigen kannst
Wenn der Merker (SUCHDIRFLAG) auf '1' steht, dann geht es weiter.
Um eine Mail zu versenden, erstelle ich typischerweise eine Datei, die Anweisungen und den Body der Mail enthalten.
Da beginnen wir mal mit dem Anfang:
Rich (BBCode):
##### Erzeuge eine Datei, die abschliessend als zu versendende MAIL dient
# Header und Einleitung schreiben
echo From: ABSENDER@DOMAIN.DE>/ADMINSCRIPTE/uploadmail.txt
echo Subject: Inhalt Upload-Ordner /FREIGABE/UPLOAD >>/ADMINSCRIPTE/uploadmail.txt
echo >>/ADMINSCRIPTE/uploadmail.txt
echo Hallo>>/ADMINSCRIPTE/uploadmail.txt
echo >>/ADMINSCRIPTE/uploadmail.txt
echo Hier der zyklische Bericht ueber den Inhalt von /FREIGABE/UPLOAD auf der Diskstation.>>/ADMINSCRIPTE/uploadmail.txt
echo >>/ADMINSCRIPTE/uploadmail.txt
Soweit der Inhalt, um die Mail schön beginnen zu lassen.
Jetzt möchtest Du noch wissen, welche Dateien da so rumliegen:
Rich (BBCode):
# Hier nun den Inhalt des Directory durchsuchen und in das Mailfile schreiben
find /FREIGABE/UPLOAD -type f -name "*" | grep -v '@eaDir'>>/ADMINSCRIPTE/uploadmail.txt
Weil ich die Schönheit der Mail auch noch am Schluss haben möchte:
Rich (BBCode):
# Footer und Abspann schreiben
echo >>$MAILFILE
echo >>$MAILFILE
echo Gruss vom Server-Administrator>>/ADMINSCRIPTE/uploadmail.txt
Das Mailfile /ADMINSCRIPTE/uploadmail.txt kannst Du nun schon mal einsehen und gucken, ob alles so funktioniert hat, wie Du Dir das vorstellst.
Und nun noch Aufgabe zwei von oben, endlich raus mit der Mail
Rich (BBCode):
# Das Mailfile wird nun als MAIL versendet
/sbin/sendmail MAILADRESSE@DOMAIN.DE < /ADMINSCRIPTE/uploadmail.txt
So, Damit wünsche ich Dir erstmal viel Spass, um dich damit zurecht zu finden.
Bei mir hat das komplette Script etwa 85 Zeilen. Teile davon, die zwingend nötig sind findest Du oberhalb und sollten, ggfs. mit Anpassungen an Deine Umgebung auch funktionieren.
Wenn das dann alles funktioniert, dann kannst Du das Script in den Aufgabenplaner einhängen und nach Deinem Gusto zyklisch laufen lassen.