POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CALCULA O % DE USO DA QUOTA E ATUALIZA BANCO

Publicado por Alessandro Dias 17/05/2005

[ Hits: 3.603 ]

Download refresh_quota.sh




Esse script recalcula o percentual de utilização da quota do usuário e atualiza o banco. Esse script é executado semanalmente.

  



Esconder código-fonte

#!/bin/sh
#
###############################################################################
#  Script REFRESH_QUOTA.SH v1.0                                                       #
#                                                                             #
#  Autor: Alessandro Dias                                                     #
###############################################################################
#                                                                             #
#  Programa atualizado para trabalhar com SGBD Mysql e uma cota por usuário.  #
#                                                                             #
###############################################################################
#    Este programa calcula o tamanho dos emails recebidos (Entrada + Pastas), #
# e atualiza o uso da quota no banco mysql.                                   #
#    Nao precisa de nenhum pacote adicional, como ldap, mysql, postgre, etc.  #
#    Para instalacao basta alterar as permissoes deste arquivo, e colocalo na #
# pasta /etc/cron.daily para a execucao diaria do script.                     #
#    Alem disso vc deve alterar as variaveis para adaptar ao seu sistema      #
###############################################################################
#
BASEDIR=/var/mail
MYHOSTNAME="venus.rjo.ccom.eb.mil.br"
MYDOMAIN="rjo.ccom.eb.mil.br"
TODOS=`cat /etc/passwd | cut -d : -f 1`
clear
echo "*********************************************************************************************"
echo "*                                 Programa REFRESH_QUOTA.SH 1.0                             *"
echo "*********************************************************************************************"
echo "Autor: Alessandro Dias"
echo "---------------------------------------------------------------------------------------------"
echo "Dados do Usuario: "

  USERNAME=$1 # inicializa USERNAME
if [ "$USERNAME" != "" ]; then
      GRUPO=`groups $USERNAME |cut -d " " -f 3`
      #QUOTA - Tamanho em Bytes (100MBytes)
      QUOTA_MB=$(mysql -u root -ppostfix -e "select quota from user_quota where usuario='$USERNAME'" quota) 
      QUOTA_MB=`echo $QUOTA_MB |cut -d " " -f 2`
      MAILQUOTA=`expr $QUOTA_MB \* 1000000`
      MBOX=`du -ab $BASEDIR/$USERNAME 2>/dev/null | cut -f 1`
      HOME=`du -b /home/$USERNAME/mail | cut -f 1`
      TAMATUAL=`expr $MBOX \+ $HOME`
      TAMATUAL_TMP=`expr $TAMATUAL \* 100`
      MBOX_TMP=`expr $MBOX \* 100`
      HOME_TMP=`expr $HOME \* 100`
      USO_MBOX=`expr $MBOX_TMP / $MAILQUOTA`
      USO_HOME=`expr $HOME_TMP / $MAILQUOTA`
      USO=`expr $TAMATUAL_TMP / $MAILQUOTA`
      echo "U:$USERNAME G:$GRUPO Q:$QUOTA_MB T:(mbox=$MBOX + home=$HOME) = $TAMATUAL U:(mbox=$USO_MBOX% + home=$USO_HOME%) = $USO%"
      # Atualiza a utulização da mbox
      mysql -u root -ppostfix -e "update user_quota set uso=$USO where usuario='$USERNAME'" quota
else 
  echo -e "\nEntre com a sintaxe correta do comando:\n./quota_user.sh <nome_usuario>\n" 
fi
echo -e "---------------------------------------------------------------------------------------------\n"

Scripts recomendados

Atualização para KDE 3.5.2

Twitter via linha de comando!

SCRIPT PARA INSTALAÇÃO DE PROGRAMAS NO LINUX

Firewall simples com iptables

Fazer backup de todas base de dados no PostgreSQL


  

Comentários
[1] Comentário enviado por diaspcf em 07/05/2007 - 15:24h

Caro Usuário,
Tente pegar o script a partir do código fonte, pois parece que o link está quebrado.
Obrigado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts