jarecki74 0 Zgłoś post Napisano Wrzesień 13, 2010 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
jarecki74 0 Zgłoś post Napisano Wrzesień 21, 2010 Czyżby nie było tutaj mocnego na pozornie prosty skrypt ? Z tego co widzę to na forum fachowcy od wszystkiego 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
regdos 1848 Zgłoś post Napisano Wrzesień 21, 2010 Masz problem dokładnie taki jak http://www.webhostingtalk.pl/topic/25789-problem-ze-skryptem/ czyli złe znaki końca linii. Udostępnij ten post Link to postu Udostępnij na innych stronach
jarecki74 0 Zgłoś post Napisano Wrzesień 22, 2010 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