Postfix - Listar usuários com over quota
Publicado por Thiago (última atualização em 29/05/2013)
[ Hits: 5.839 ]
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}
Criar políticas para o SELinux
Dialog - Menu semi-gráfico para adicionar, excluir, alterar usuários no Samba
Compartilhando a Internet com Iptables
Firewall com iproute2 para 2 links com ip fixo
Criando um Backup .ISO do seu CD.
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)
De volta para o futuro - ou melhor, para o presente (parte 2) (0)









