Postfix - Listar usuários com over quota
Publicado por Thiago (última atualização em 29/05/2013)
[ Hits: 5.511 ]
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}
Ativando Numlock como serviço e no boot
Removendo kernels antigos no Ubuntu
Plugin do Nagios em Shell Script
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta