limita o tamanho dos arquivos em uma pasta no linux

2

Eu tenho uma configuração complexa com dois sistemas em execução em dois computadores com espaço compartilhado.

Um dos sistemas faz o download de arquivos grandes e cria links simbólicos no espaço compartilhado. O outro sistema (um sistema Windows) pensa que não há espaço sobrando.

O que eu gostaria de fazer é limitar o tamanho dos arquivos em uma pasta no linux. Em outras palavras, o diretório (e subdiretórios) conterá apenas arquivos até 1 MB. Qualquer coisa maior do que isso será desconsiderada. Isso pode ser feito?

obrigado.

    
por user850498 06.11.2012 / 19:02

3 respostas

2

Tenho medo de ser possível definir o limite máximo de tamanho de arquivo para todo o sistema (para cada arquivo).

ulimit -f <size_in_blocks>

Você também pode limitar o tamanho total de um diretório montando o diretório do sistema de arquivos virtual (um arquivo):

dd if=/dev/zero of=~/disk_image count=<size_in_blocks>
mkfs -t ext3 ~/disk_image
mount -o loop=/dev/loop0 ~/disk_image <directory>
    
por 06.11.2012 / 19:30
0

Outro método que pensei seria agendar um cronjob para rodar na máquina linux a cada minuto ou em um intervalo de sua escolha que executa um script que procura por arquivos maiores que 1M e os remove ou move para outro diretório para revisão.

Para o script, procure usar 'find'

man find

Um exemplo:

find /home/user/storage -type f -size +1M

Isso examinaria o diretório / home / user / storage e localizaria arquivos maiores que 1 MB. Você também pode adicionar -exec à linha para realizar ações nos arquivos encontrados.

    
por 06.11.2012 / 19:44
0

Você pode usar um produto chamado quota, que parece estar pré-instalado na Red Hat.

verifique os links a seguir

link link

Eu nunca realmente administrei isso sozinho, no entanto, eu trabalhei em sistemas que tiveram isso instalado e parece funcionar.

Deixe-me saber como você se dá bem

James

    
por 06.11.2012 / 20:23