Aplica quotas a partir de um arquivo gerado pelo repquota.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 5.498 ]
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 para CD-R/RW e DVD+/- R/RW
FindBackdoor - Detectar possíveis backdoors em arquivos PHP (WordPress)
Backup do Firebird por data - via rede ou local
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)