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