Die von dem Script angelegte Datei ist von dem Kunden aber nicht löschbar. Besitzer ist ja root.root .
Ich habe entsprechend noch zwei zusätzliche Zeilen Code eingefügt.
a) Benutzergruppe des Verzeichnisses /var/www/virtual/$serverdomain ermitteln
b) chown entsprechend setzten
Hier der angepasste Code:
Code:
#!/bin/bash
deleteafterdays=184
if [ "$1" = "" ]; then
echo "Parameter: usermaillog <Domain/Aliasdomain> <optional Hauptdomain>"
else
DATUM=`date '+%Y-%m-%d'`
if [ "$2" != "" ]; then
if [ -d /var/www/virtual/$1 ]; then
serverdomain=$1
else
serverdomain=$2
fi
else
serverdomain=$1
fi
if [ -d /var/www/virtual/$serverdomain ]; then
# Berechtigung des Domainverzeichnisses ermitteln
LG=`stat -c%U /var/www/virtual/$serverdomain`
find /var/www/virtual/$serverdomain/logs/mail_$1* -mtime +$deleteafterdays -exec rm {} \; >/dev/null 2>&1
grep $1 /var/log/mail.log >/var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
# Berechtigung auf die angelegte Datei ändern
chown $LG:$LG /var/www/virtual/$serverdomain/logs/mail_$1_$DATUM
else
echo "Fehler: Verzeichnis /var/www/virtual/$serverdomain existiert nicht."
fi
fi
Wenn man das für alle Kunden machen möchte läßt es sich noch einfach eine Schleife aussenrum bauen...