Respostas:
Quanto a uma versão mais otimizada du
, não conheço uma. As coisas que vêm à mente são:
stat -c '%h'
) - 2.De tudo isso, as opções de cota e partição dedicada são provavelmente as mais fáceis e eficientes.
O problema é que 'du' precisa enumerar todos os objetos na subárvore. Esta é uma operação intensiva de metadados e leva um tempo para a maioria dos sistemas de arquivos Linux. Alguns sistemas de arquivos, NTFS e NSS da Novell, têm a capacidade de acompanhar tamanhos de diretório como esses nos metadados, o que torna essa operação muito mais rápida. Geralmente, se o seu sistema de arquivos suportar cotas de diretório de algum tipo, ele precisará acompanhar esses dados internamente para imposição, toda mudança de tamanho será replicada na árvore de diretórios para o NTFS (NTFS) ou para todos os diretórios (NSS). ) quando isso acontece, portanto, obter um tamanho de árvore de diretórios é muito rápido.
Infelizmente, não há como fazê-lo funcionar mais rápido, apenas soluções alternativas.
du -h --max-depth=1
Fornece os tamanhos no formato KB / MB / GB humano a partir do seu diretório de trabalho atual.
Com as ferramentas padrão, você precisa obter o tamanho de cada arquivo no diretório sempre que quiser saber o tamanho total. Uma maneira possivelmente mais eficiente de fazer isso seria ter um "monitor de tamanho de diretório", que monitora o tamanho atual do diretório. Não existe tal coisa (que eu saiba), mas você poderia implementar uma inotify
. Possivelmente não com o bash (e inotify-tools
), mas você provavelmente poderia usar python e pyinotify, por exemplo.
se você deseja apenas o uso do disco para o sistema de arquivos raiz, então
df -h /
Não. Você poderia periodicamente executar um canal para um arquivo de texto, em um trabalho agendado para execução durante a noite, para que você não tenha dados atuais disponíveis imediatamente?
Observe que medir o espaço em disco usado por uma pasta que contém um grande número de arquivos no Windows também leva algum tempo.
df -kh /
isso mostrará a quantidade de espaço em disco usada e disponível.
Possivelmente
df -h
texto extra, já que uma resposta curta e concisa não é suficiente para que a falha do servidor pense que sou humano.
Você deve usar o dnotify para calcular o uso do disco se o sistema de arquivos não for alterado frequentemente.