Continuando a falar sobre quotas, falei como definir quotas por tamanho de arquivo. Agora, vamos ver o exemplo de quota por arquivos criados! Isso quer dizer, que vamos limitar quantos arquivos o usuário pode criar no disco!
O procedimento para definir quota por arquivo, é praticamente o mesmo que fizemos para o neo. Aqui, para a trinity, vamos definir que ela pode criar 30 arquivos, no máximo 40.
O arquivo ficará assim:
# edquota -u trinity
Disk quotas for user trinity (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda6 24 0 0 6 30 40
Lembrando que na coluna de inodes não mexemos no valor que ja esta la porque são os arquivos que a trinity criou antes de definirmos quota para ela!
Consultando as quotas da trinity:
# quota -u trinity
Disk quotas for user trinity (uid 1001):
Filesystem blocks quota limit grace files quota limit grace
/dev/sda6 24 0 0 6 30 40
Depois podemos virar trinity e fazer o teste com a quantidade de arquivos:
# su – trinity
$ i=1
$ while true
> do
> touch plans_matrix_$i.txt
> let i++
> done
Esse script deve ficar rodando ate que a trinity não consiga escrever no disco:
sda6: warning, user file quota exceeded.
sda6: write failed, user file limit reached.
touch: impossível executar sobre `plans_matrix_35.txt’: Disk quota exceeded
Consultando a quantidade de arquivos que a trinity criou:
$ ls
plans_matrix_10.txt plans_matrix_16.txt plans_matrix_21.txt plans_matrix_27.txt plans_matrix_32.txt plans_matrix_6.txt
plans_matrix_11.txt plans_matrix_17.txt plans_matrix_22.txt plans_matrix_28.txt plans_matrix_33.txt plans_matrix_7.txt
plans_matrix_12.txt plans_matrix_18.txt plans_matrix_23.txt plans_matrix_29.txt plans_matrix_34.txt plans_matrix_8.txt
plans_matrix_13.txt plans_matrix_19.txt plans_matrix_24.txt plans_matrix_2.txt plans_matrix_3.txt plans_matrix_9.txt
plans_matrix_14.txt plans_matrix_1.txt plans_matrix_25.txt plans_matrix_30.txt plans_matrix_4.txt
plans_matrix_15.txt plans_matrix_20.txt plans_matrix_26.txt plans_matrix_31.txt plans_matrix_5.txt
Se você notaram, quando estávamos rodando o script, a trinity parou de criar arquivos a partir do ‘plans_matrix_35.txt’. Isso aconteceu porque a trinity ja tinha arquivos criados. Vejam:
$ ls -a | grep ^[.]
.
..
.bash_history
.bash_logout
.bashrc
.profile
.viminfo
Com o comando acima, listamos somente os arquivos ocultos… Se somarmos a quantidade dos arquivos ocultos com a quantidade de arquivos criados, teremos a quantidade máxima de arquivos que a trinity pode criar!
Ah, e o ‘.’ e os ‘..’ na saída do comando acima, indicam o diretório atual e o diretório acima, respectivamente. Para saber, mais, tem um post sobre esse assunto.
Bom… a trinity não escreve mais no disco… como root, vamos analisar o uso do disco:
# repquota -a
*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
———————————————————————-
root – 71368 0 0 4 0 0
ivani – 16 0 0 4 0 0
trinity -+ 24 0 0 40 30 40 6days
neo +- 30000 20000 30000 none 8 0 0
smith – 16 0 0 4 0 0
nix – 16 0 0 4 0 0
Assim como o neo, a trinity não pode mais criar arquivos… a não ser que apague alguns
!
Com isso, conseguimos gerenciar melhor o uso do disco pelos usuários… não permitindo que somente um fominha ocupe todo espaço em disco!
Ate o próximo post!

