Aplica quotas a partir de um arquivo gerado pelo repquota.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 5.563 ]
Aplica quotas a partir de arquivos [.gz] gerados pelo repquota.
Para gerar os arquivos verifique o script backup quotas ou execute:
#repquota -aug | gzip > quota.all.gz
#repquota -au | gzip > quota.usuarios.gz
#repquota -ag | gzip > quota.grupos.[GRUPO].gz
#!/bin/bash # @ Alessandro Dias [25/01/2007] function aplica_quota_usuario() { local QUOTAS local NLINHAS local LINHA local i local USUARIO local QUOTA IFS=$'\t ' QUOTAS=`cat $1/quota.usuarios.gz | gunzip | sed -e "1,5d" | sed -e "/^$/d"` NLINHAS=`echo $QUOTAS | wc -l |cut -d " " -f 1` for ((i=1; i<=$NLINHAS; i++)) do LINHA=`echo $QUOTAS | sed -ne ${i}p` USUARIO=`echo $LINHA | cut -d " " -f 1` QUOTA=`echo $LINHA | cut -d " " -f 4` if [ "$USUARIO" != "root" ]; then echo "$USUARIO - $QUOTA" setquota -u $USUARIO $QUOTA $QUOTA 0 0 /home fi done } function aplica_quota_grupo() { local QUOTAS local NLINHAS local LINHA local i local GRUPO local QUOTA IFS=$'\t ' GROUPS0X=`echo $1 | cut -d "-" -f 2` ARQ="$2/quota.grupos.$GROUPS0X.gz" QUOTAS=`cat $ARQ | gunzip | sed -e "1,5d" | sed -e "/^$/d"` NLINHAS=`echo $QUOTAS | wc -l |cut -d " " -f 1` for ((i=1; i<=$NLINHAS; i++)) do LINHA=`echo $QUOTAS | sed -ne ${i}p` GRUPO=`echo $LINHA | cut -d " " -f 1` QUOTA=`echo $LINHA | cut -d " " -f 4` if [ "$GRUPO" != "root" ]; then echo "$GRUPO - $QUOTA" setquota -g $GRUPO $QUOTA $QUOTA 0 0 /mnt/$GROUPS0X fi done } function aplica_quota() { if [ "$1" == "user" ]; then echo -e "\ntipo=$1 - part=$2\n" aplica_quota_usuario $3 else if [ "$1" == "group" ]; then echo -e "\ntipo=$1 - part=$2\n" aplica_quota_grupo $2 $3 fi fi } if [ $# -ne 0 ]; then IFS=$'\t ' PASTA=$1 # quotas aplicadas para as partições abaixo QUOTAS=`cat $1/quota.all.gz | gunzip | grep "\*\*\*" | cut -d " " -f 4,8` NLINHAS=`echo $QUOTAS | wc -l |cut -d " " -f 1` for ((i=1; i<=$NLINHAS; i++)) do LINHA=`echo $QUOTAS | sed -ne ${i}p` TIPO=`echo $LINHA | cut -d " " -f 1` PART=`echo $LINHA | cut -d " " -f 2` aplica_quota $TIPO $PART $PASTA done else echo -en "\E[1;37;41m{FONTE}33[4mSintaxe correta: aplica_quota.sh <pasta quotas>{FONTE}33[0m\E[0m" echo -en "\n<pasta quotas> contem os arquivos .gz com as quotas.\n" fi
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - DESBLOQUEAR IP
Exemplos de scripts com dialog
Sysinfo - Informações sobre o seu computador
Pra quem contribui com artigos e dicas (0)
Arch Linux - Guia para Iniciantes (5)
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
O Que Fazer Após Instalar Ubuntu 25.04
O Que Fazer Após Instalar Fedora 42
Debian 12 -- Errata - Correções de segurança
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Pra quem contribui com artigos e dicas (0)
Monitor fora de escala ao bootar sistema (9)
NAT LoopBack - Hairpin NAT (2)
Alguém poderia me ajudar a escolher peças pra montar um desktop? (18)