Skocz do zawartości
Zaloguj się, aby obserwować  
jarecki74

MailBox Full w Plesk - powiadamianie

Polecane posty

Witam

 

Może mi ktoś podpowiedzieć co z tym skryptem jest nie tak (plesk9.3 Debian 5)

 

 

Skrypt ma zadanie powiadamiać klienta o przepełnionej skrzynce.

 

 

 

 

Uruchamiając go cronem w plesk jako root mam komunikat

 

/var/www/vhosts/webinfo.pl/private/mailboxfull.sh: line 7: cd: /var/qmail/mailnames

: No such file or directory

/var/www/vhosts/webinfo.pl/private/mailboxfull.sh: line 8: syntax error near unexpected token `do

'

/var/www/vhosts/webinfo.pl/private/mailboxfull.sh: line 8: `for DIR in *.*;do

'

 

 

 

Katalog oczywiście istnieje

 

 

Z góry dzięki

 

 

 

 

 

 

#! /bin/sh

# warn plesk mailbox users, if mailbox exceeds quota

#

#setenv QMAILUSER 'do-not-reply'

MAILROOT=/var/qmail/mailnames

ADMINMSG=''

cd $MAILROOT > /dev/null

for DIR in *.*;do

QUOTAFILE=$MAILROOT/$DIR/@mbox.quota

# if domainquota exists

if [ -f $QUOTAFILE ]

then

DOMAINHARDQUOTA=`cat $QUOTAFILE`

DOMAINSOFTQUOTA=$((85 * $DOMAINHARDQUOTA / 100))

#echo "$DIR $DOMAINHARDQUOTA - $DOMAINSOFTQUOTA"

cd $MAILROOT/$DIR

for MAILBOX in * ;do

if [ -d $MAILBOX ]

then

# look for specific mailbox quota file and set mailbox softquota

QUOTAFILE=$MAILROOT/$DIR/$MAILBOX/@mbox.quota

#echo $QUOTAFILE

if [ -f $QUOTAFILE ]

then

HARDQUOTA=`cat $QUOTAFILE`

#echo "using specific $QUOTAFILE, $HARDQUOTA"

 

SOFTQUOTA=$((85 * $HARDQUOTA / 100))

else

#echo "using domainquota"

HARDQUOTA=$DOMAINHARDQUOTA

SOFTQUOTA=$DOMAINSOFTQUOTA

fi

# calculate space used by mailbox

MBOXSPACE=`du -ks $MAILBOX | cut -f1`

#echo "$MAILBOX@$DIR uses $MBOXSPACE"

if [ $HARDQUOTA -gt 0 -a $MBOXSPACE -gt $SOFTQUOTA ]; then

MBOXPERCENT=$(($MBOXSPACE * 100 / $HARDQUOTA))

echo "$MAILBOX@$DIR belegt $MBOXSPACE kb, Soft/Hardquota = $SOFTQUOTA kb /$HARDQUOTA kb"

 

#for testing: send warn mail to postmaster account

#mail -r do-not-reply@$DIR -s "Mailbox Quota Warnung" admin@domain << EOF

#

#regular: send warn mail to mailbox

mail -r do-not-reply@$DIR -s "Mailbox Quota Warnung" $MAILBOX@$DIR << EOF

 

 

Dear $MAILBOX

 

Your Mailbox currently uses $MBOXSPACE kb ($MBOXPERCENT %) on the mailserver. We would like to

remind you that your mailbox may only contain $HARDQUOTA kb.

 

To avoid problems when receiving new mail, you should remove read mail from the server.

 

 

Regards,

mailbox-robot

EOF

 

 

 

fi

fi

done;

 

fi

 

 

 

done;

cd /root/bin

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyżby nie było tutaj mocnego na pozornie prosty skrypt ? :)

 

 

Z tego co widzę to na forum fachowcy od wszystkiego :P

 

ls -al /var/qmail | grep mailnames

drwxr-xr-x 17 root    root    4096 Sep 14 16:51 mailnames

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeden problem rozwiązany (znak końca linii z Windowsa był).Ale teraz jest inny problem, zmieniła się nazwa pliku i struktura, zamiast pliku:

@mbox.quota

jest plik

maildirsize

 

A to jego struktura

 


4091904S,0C

    2839594          39

   -1862816           -5

 

 

 

Przed literą S w pierwszym wierszu jest opisana quota dla poczty

 

W tym przypadku 4091904 b (4MB).

 

 

 

Jak wyciągnąć to z pliku i podstawić do skryptu zamiast:

@mbox.quota

 

 

 

]Pozdrawiam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×