Gerenciando quotas de disco
Neste artigo, descrevo as funcionalidades do recurso de quotas de disco, uma breve introdução sobre Soft Limit, Hard Limit e Grace Period e um tutorial básico para criação e gerenciamento de quotas.
Parte 3: Criando e gerenciando quotas
Nesse tópico, abordaremos todos os procedimentos para a criação e gerenciamento de quotas.
Edite o arquivo /etc/fstab:
Edite o arquivo /etc/fstab:
/dev/sda8 /home ext3 defaults,usrquota,grpquota 1 2
Crie os arquivos quota.user e quota.group e dê permissão de acesso somente para o root no diretório /home:
# touch /home/quota.user /home/quota.group
# chmod 600 /home/quota.user /home/quota.group
Estes dois arquivos são os bancos de dados de quotas de usuários e grupos. Nesse exemplo, estamos utilizando quota versão-1, caso alguém esteja usando a versão-2, os nomes dos arquivos devem ser aquota.user e aquota.group. Agora devemos reiniciar o sistema para que as configurações de quota entrem em vigor.
# shutdown -r now
Após a reinicialização do sistema, use o comando quotacheck para inicializar os bancos de dados:
# quotacheck -avug
Adicione as quotas de usuários:
# edquota -u crildo
Disk quotas for user crildo (uid 1000):
Filesystem blocks soft hard inodes soft hard /dev/sda8 28 9000 10000 7 4000 5000 /dev/sdb2 2740 3000 5000 60 0 0Adicione as quotas de grupo:
# edquota -g santos
Disk quotas for group santos (gid 1001):
Filesystem blocks soft hard inodes soft hard /dev/sda8 0 100000 120000 0 0 0 /dev/sdb2 16 300000 350000 0 4 0Adicione o tempo limite que os usuários e grupos poderão ter as suas quotas excedidas:
# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period /dev/sda8 7days 7days /dev/sdb2 7days 7daysCrie um script para iniciar e verificar o sistema de quotas toda vez que ele é inicializado. Este script deve ser criado no diretório que o sistema utiliza para inicializar os serviços automaticamente, no meu caso é o diretório /etc/init.d:
# vi quotas.sh
#!/bin/bash
# Checa e ativa o sistema de quotas
if [ -x /usr/sbin/quotacheck ]
then
echo "Checando sistema de quotas. "
/usr/sbin/quotacheck -avug
echo " Sistema de Quotas OK."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Ativando sistema de quotas."
/usr/sbin/quotaon -avug
fi
# Checa e ativa o sistema de quotas
if [ -x /usr/sbin/quotacheck ]
then
echo "Checando sistema de quotas. "
/usr/sbin/quotacheck -avug
echo " Sistema de Quotas OK."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Ativando sistema de quotas."
/usr/sbin/quotaon -avug
fi
Adicione o comando quotacheck no cron para que seja executado semanalmente:
# crontab -e
0 3 * * 0 /usr/sbin/quotacheck -avug
Ou se preferir, adicione um script no diretório /etc/cron.weekly:
# vi checaquotas.sh
#!/bin/bash
/usr/sbin/quotacheck -avug
/usr/sbin/quotacheck -avug
Não esqueça de dar permissão de execução ao arquivo:
# chmod 760 checaquotas.sh
Execute o comando "repquota -v /home" para visualizar o relatório de quotas:
# repquota -v /home