Aplica quotas a partir de um arquivo gerado pelo repquota.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 5.505 ]
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
Descompactar vários arquivos ao mesmo tempo de um diretório específico
Ajuste de horário e sincronismo
Script Para Ajustar o Intevalo de Legendas 2
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
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)