Aplica quotas a partir de um arquivo gerado pelo repquota.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 5.618 ]
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
Script para checagem de Ponto de Acesso.
Renomeia diretorio,subdiretorio e arquivos de maiuscula > minuscula
Atualiza base de dados do Clamav e avisa o admin
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (3)
Como desinstalar o GIMP? [RESOLVIDO] (1)