Reportovani quot
Petr Simek
petrsi na jcu.cz
Pátek Únor 12 13:38:22 CET 1999
Ja jsem si napsal skrtipt -
#!/bin/sh
# Symbolicke jmeno pro uvadeni v poste zasilane uzivateli
SERVER="machinename"
# Adresa odesilatel varovnych zprav
FROMIT="root na machinename.domain.cz"
# Kopie pro spravce
BLINDC="spravce na domain.cz"
# domena uzivatele - default postovni domena serveru
DOMAIN="@domain.cz"
# svazek kde jsou umisteny postovni schranky uzivatelu - prekroci-li
# na tomto svazku uzivatel hard kvotu nebo mu vyprsi grace limit,
# nejsou mu zasilany varovne emaily - nelze je totiz dorucit.
MAILVM="/var"
# testovaci uzivatel - je li uveden jsou varovne zpravy zasilany
# jemu namisto uzivatelum prekracujici kvoty.
TSTUSR=""
MSA="\n Urceno uzivateli "
MGA="\n Message for user "
MLL=" \n\n"
MSC=" Prekracujete diskovou kvotu na serveru $SERVER ! \
\n Your disk quota on server $SERVER are exceeded ! \n"
MSE=" Stav kvoty na svazku "
MSF=" Quota status on volume "
LNA=" Block limits File limits\
\n User used soft hard grace used soft hard
grace\n"
WRA="\n Po uplynyti casoveho limitu grace jiz nebudete moci vytvaret
dalsi\
\n soubory na vyse uvedenem svazku.\
\n\
\n Rozdeleni svazku :\
\n\
\n / - pomocne soubory (vznikaji pri zpracovani posty, apod.)\
\n /home - domaci adresar\
\n /var - postovni schranka - pokud dosahnete hard kvoty na tomto svazku\
\n nebo uplyne casovy limit pri prekroceni soft kvoty, prestane\
\n Vam chodit posta\n\n"
WRB="\n After grace time limit expired, You may not be able create next\
\n files on this volume.\
\n\
\n Volume usage :\
\n\
\n / - help files (used by mail readers programs, etc ..)\
\n /home - home directory\
\n /var - mailbox location - if hard quota has been reached on\
\n this volume or grace time limit (by soft quota) is expired,\
\n You not be able receive e-mails\n\n"
cat /etc/fstab | awk '{print $2}' | while read LINE ; do
if [ -f $LINE/quota.user ] ; then
repquota $LINE | grep "+-" | while read USER ; do
if [ "X$LINE" = "X$MAILVM" ] ; then
REACH=`echo "$USER" | grep "none"`
if [ "X$REACH" = "X" ] ; then
SKIP="NO"
else
SKIP="YES"
fi
fi
NAME=`echo "$USER" | awk '{print $1}'`
if [ "X$TSTUSR" = "X" ] ; then
if [ "X$SKIP" = "XYES" ] ; then
RECIPIENT="$BLINDC"
else
RECIPIENT="$NAME$DOMAIN"
fi
else
RECIPIENT="$TSTUSR"
fi
echo -e "From: $FROMIT\
\nTo: $RECIPIENT\
\nBcc: $BLINDC\
\nSubject: Prekroceni kvoty na serveru $SERVER\
\n\n\
\n $MSA $NAME : $MGA $NAME :\
\n $MLL $MSC \n $MSE $LINE :\
\n $MSF $LINE :\
\n $MLL $LNA\
\n $USER\
\n $WRA $WRB" | /usr/sbin/sendmail -t
done
fi
done
Neni to nic specialniho, ale funguje to. Sposutim to rano z cronu ..
S pozdravem
*------------------------------------------------------------------------*
| Petr Simek APS JU |
| petrsi na jcu.cz |
*------------------------------------------------------------------------*
Další informace o konferenci Linux