Postfix - Listar usuários com over quota
Publicado por Thiago (última atualização em 29/05/2013)
[ Hits: 5.777 ]
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}
Administrar squid com autenticação, simples e objetivo.
ipshow - exibir informações de sua rede
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGANDO MSG ANTIGAS
Invertendo strings usando vetores
Renomeia diretorio,subdiretorio e arquivos de maiuscula > minuscula
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









