[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

procmail-Logdatei aufteilen



Hallo Liste!

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



Reply to: