Postfix - Listar usuários com over quota
Publicado por Thiago (última atualização em 29/05/2013)
[ Hits: 5.836 ]
Homepage: https://tamsti.wordpress.com/
Exibir todos os usuários com over quota. No meu caso, os usuários localizados no diretório /home/remote/.
#!/bin/bash
#DefaultQuotaSize="50"
cd /home/remote/
function usage() {
echo "Usage: $0 [options]"
echo
echo "-a|--all Exibir todos usuarios com overquota"
echo "-v|--verbose Trabalha com -a e ainda exibe todos users/quota"
echo "-u|--user <username> Exibir apenas um usuario especifico."
echo
echo "Exemplo: $0 --user username"
echo " $0 -a -v"
exit 1
}
if [ $# -lt 1 ]; then
usage
fi
# Setting default values
Verbose=0
ShowAll=0
while [ -n "$1" ]; do
case "$1" in
'-u'|'--user')
list="$2"
shift
;;
'-a'|'--all')
ShowAll=1
list='*'
;;
'-v'|'--verbose')
Verbose=1
;;
*)
usage
break
;;
esac
shift
done
ReturnValue=0
for user in $(echo $list); do
if [ -f ${user}/Maildir/maildirsize ]; then
QuotaSize="$(sed -n '1s/S//p' ${user}/Maildir/maildirsize)"
let QuotaSize/=1024*1024
if [ "${QuotaSize}" == "" ]; then
QuotaSize=${DefaultQuotaSize}
fi
DiskUsage="$(sed -rn '2,$s/([-0-9]+) (.*$)/\1/p' ${user}/Maildir/maildirsize | paste -sd+ | bc)"
let DiskUsage/=1024*1024
if [ ${ShowAll} -eq 1 ]; then
if [ ${QuotaSize} -ne 0 ] && [ ${DiskUsage} -ge ${QuotaSize} ]; then
echo "User: $user - DiskUsage: ${DiskUsage}M - Quota: ${QuotaSize}M ### OVERQUOTA ###"
elif [ ${Verbose} -eq 1 ]; then
echo -n "User: $user - DiskUsage: ${DiskUsage}M - Quota: "
if [ ${QuotaSize} -eq 0 ]; then
echo "UNLIMITED"
else
echo "${QuotaSize}M"
fi
fi
else
if [ ${QuotaSize} -ne 0 ] && [ ${DiskUsage} -ge ${QuotaSize} ]; then
echo "User: $user - DiskUsage: ${DiskUsage}M - Quota: ${QuotaSize}M ### OVERQUOTA ###"
ReturnValue=1
else
echo -n "User: $user - DiskUsage: ${DiskUsage}M - Quota: "
if [ ${QuotaSize} -eq 0 ]; then
echo "UNLIMITED"
else
echo "${QuotaSize}M"
fi
fi
fi
fi
done
exit ${ReturnValue}
Administração de VirtualBox com ShellScript
Instalação completa de servidor de e-mail
Gerenciamento de logs em servidores de aplicação
Script de backup para fita DAT
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









