Aplica quotas a partir de um arquivo gerado pelo repquota.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 5.597 ]
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
Backup Incremental em HD secundário/externo
Instalador de Hotspot Linux Debian (SysV)
Software backup, restore, leitura de logs, com dialog
Script para Criar/Modificar Usuarios No Ldap + Samba
Cura VMWare Player e Workstation
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Git config não aplica configurações
O que você quer para sua vida ao usar o Linux?
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Falhas em startar o mongodb [RESOLVIDO] (3)
samba4 versao 4.22.3 usuario nao consegue trocar a senha (2)
[dica] Aqui um vídeo educativo de verdade: engenharia reversa (0)