Da ich mehrere Mailinglisten aus verschiedenen Bereichen abonniert habe, erhalte ich täglich sehr viele E-Mails. Mit procmail sortiere ich die eingehenden Nachrichten in verschiedene IMAP-Ordner.
Das Problem: Meine procmail-Logdatei wird nach einigen Tagen/Wochen sehr groß und unübersichtlich.
Aus diesem Grund habe ich mir überlegt, die procmail-Logdatei zu splitten:
- die Logdatei fuer SPAM-Mails soll "procmail_spam.log" heissen
- die Logdatei für private Nachrichten soll "procmail_normal.log" lauten
- die Logdatei für E-Mails von den Debian Mailinglisten soll "procmail_debian" heissen
- und so weiter
Also habe ich mir folgendes Skript erstellt (Auszug):
[Skript] #!/bin/bash
case $1 in
stop) echo -n "Sortierung der procmail-Logdatei: " benutzer="thilo" # Homeverzeichnis des Users ermitteln: hv=`grep ^$benutzer: /etc/passwd | cut -d : -f 6`
# Ist die Logdatei ueberhaupt vorhanden? if [ -f $hv/procmail.log ] then # Ist das Verzeichnis ".logs" vorhanden? if [ ! -d $hv/.logs ] then mkdir $hv/.logs fi
# Teil 1: eventuelle SPAM-Mails
grep -B 2 "^ Folder: /usr/sbin/sendmail -oi spam" $hv/procmail.log >> $hv/.logs/procmail_spam.log
# Teil 2: E-Mails von den Debian ML
grep -B 2 "^ Folder: $hv/Maildir/\.Debian\." $hv/procmail.log >> $hv/.logs/procmail_debian.log
# Teil 3: normale E-Mails
grep -B 2 "^ Folder: $hv/Maildir/new/" $hv/procmail.log >> $hv/.logs/procmail_normal.log
# Teil 4: E-Mails von Richie
grep -B 2 "^ Folder: $hv/Maildir/\.Richie/new/" $hv/procmail.log >> $hv/.logs/procmail_richie.log
chown -R $benutzer:$benutzer $hv/.logs rm $hv/procmail.log echo "done" fi ;; esac [/Skript]
Das funktioniert auch:
Wenn ich das Skript ausfuehre ("./procmailsort stop"), habe ich in meinem Heimatverzeichnis einen neu erstellten Ordner ".logs". In diesem sind dann die gewünschten Dateien vorhanden. Alles ist schön sortiert, und die erstellten Dateien gehören dem Benutzer!
So weit, so gut.
Nun möchte ich noch erreichen, dass dieses Skript bei jedem herunterfahren des Servers ausgeführt wird (aus diesem Grund auch das "stop"-Argument).
Also habe ich folgendes gemacht:
cp procmailsort /etc/init.d/ chmod u=rwx,g=rx,o=rx /etc/init.d/procmailsort ln -s /etc/init.d/procmailsort /etc/rc2.d/S25procmailsort
Leider klappt das nicht....
Das Skript wird anscheinend nach dem "halt"-Befehl gar nicht ausgeführt. Auf dem Monitor erscheint auch nicht der Hinweis "Sortierung der procmail-Logdatei: done".
Kann man das so nicht machen? Was muß ich ändern?
Vielen Dank für Eure Mühe!
Gruß,
Thilo
--
Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)