findus
a nice one
Hallo Forum,
folgendes Szenario:
Der Mail-Relay unser Firma steht in der DMZ, empfängt/versendet eMails und filtert diese auf Spam. Dabei ist dies nicht unser eigentlicher Mail-Server sondern nur ein Relay für den bei uns im internen Netz stehenden Exchange 2003 Server, der die interne eMail-Kommunikation übernimmt.
Im Prinzip arbeitet dieser sehr gut, allerdings liegt es ja nahe diesen von Zeit zu Zeit über ein kleines Skript mit nicht erkannten Spam-Mails (die Trefferquote liegt bei ca. 95 %) zu füttern. Ein Skript, welches nicht erkannten SPAM in ein Zip-Archiv schreibt und dieses Archiv von einem unserer Netzlaufwerke mittels FTP auf den Mail-Relay verschiebt habe ich geschrieben und läuft einwandfrei (Batch-Skript für Windows, welches ich bei interesse gerne poste).
Nun versuche ich mich in einem Shell-Skript, welches dieses Archiv auspackt und die SPAM-Mails Spamassiss zum lernen weiterreicht - all das loggt u. die Daten im Anschluß löscht. Manuell aufgerufen funktioniert es wunderbar (!) nur bekomme ich Probleme wenn ich dieses über die Crontab des Users spam (welcher auch die Spam-Datenbank verwaltet) aufrufen lassen will:
Das Skript:
Als Fehlermeldung erhalte ich:
NEU.ZIP: not found (ist allerdings da)
Auch das Schreiben in die ausgabe.txt gelingt nicht.
Er kommt also mit den Pfaden nicht zurecht, allerdings komme ich nicht darauf was ich ändern müsste damit es ordentlich funktioniert. Und das Logging in die ausgabe.txt habe ich nur interesse halber hinzugefügt - die hälfte von dem lösche ich nachher wieder weg.
Gruß Björn
folgendes Szenario:
Der Mail-Relay unser Firma steht in der DMZ, empfängt/versendet eMails und filtert diese auf Spam. Dabei ist dies nicht unser eigentlicher Mail-Server sondern nur ein Relay für den bei uns im internen Netz stehenden Exchange 2003 Server, der die interne eMail-Kommunikation übernimmt.
Im Prinzip arbeitet dieser sehr gut, allerdings liegt es ja nahe diesen von Zeit zu Zeit über ein kleines Skript mit nicht erkannten Spam-Mails (die Trefferquote liegt bei ca. 95 %) zu füttern. Ein Skript, welches nicht erkannten SPAM in ein Zip-Archiv schreibt und dieses Archiv von einem unserer Netzlaufwerke mittels FTP auf den Mail-Relay verschiebt habe ich geschrieben und läuft einwandfrei (Batch-Skript für Windows, welches ich bei interesse gerne poste).
Nun versuche ich mich in einem Shell-Skript, welches dieses Archiv auspackt und die SPAM-Mails Spamassiss zum lernen weiterreicht - all das loggt u. die Daten im Anschluß löscht. Manuell aufgerufen funktioniert es wunderbar (!) nur bekomme ich Probleme wenn ich dieses über die Crontab des Users spam (welcher auch die Spam-Datenbank verwaltet) aufrufen lassen will:
Das Skript:
und die Crontab des Users spam (crontab -e):#/bin/sh
cd > ~/ausgabe.txt
unzip ~/NEU.ZIP -d ~/spam >> ~/ausgabe.txt
cp ~/skripte/leer ~/spam >> ~/ausgabe.txt
cd ~/spam >> ~/ausgabe.txt
/bin/sh ~/spam/leer >> ~/ausgabe.txt
sa-learn -C /usr/local/etc/mail/spamassassin/local.cf --forget ~/spam/* >> ~/ausgabe.txt
sa-learn -C /usr/local/etc/mail/spamassassin/local.cf --spam ~/spam/* >> ~/ausgabe.txt
cat ~/ausgabe.txt | mail -s Spam-Training bla@bla.de >> ~/ausgabe.txt
rm -rf ~/spam/* >> ~/ausgabe.txt
rm ~/NEU.ZIP >> ~/ausgabe.txt
# crontab - spam's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
HOME=/home/spam/
#MAILTO=bla@bla.de
#
#minute hour mday month wday who command
#
30 14 * * * * ~/skripte/start.sh
Als Fehlermeldung erhalte ich:
NEU.ZIP: not found (ist allerdings da)
Auch das Schreiben in die ausgabe.txt gelingt nicht.
Er kommt also mit den Pfaden nicht zurecht, allerdings komme ich nicht darauf was ich ändern müsste damit es ordentlich funktioniert. Und das Logging in die ausgabe.txt habe ich nur interesse halber hinzugefügt - die hälfte von dem lösche ich nachher wieder weg.
Gruß Björn