Cota de espaço em disco único em diretórios base e bancos de dados relacionais (MySQL, PostgreSQL) no Linux

2

Bases de dados relacionais geralmente têm seus dados em / var / lib / alguma coisa. Os usuários estão em / home (com dados em / var / www). Como posso aplicar uma única cota de espaço total em disco em todos esses sistemas de software independentes (sistemas de arquivos, RDBMS, etc.)?

P.S. Há uma aposta acontecendo ao meu redor quanto ao quão incrível SU é. Vamos ver o que você tem.

    
por Anonymous 10.06.2011 / 15:10

1 resposta

3

Você pode mover os arquivos de banco de dados de cada usuário para seu diretório inicial, para que eles sejam contados contra qualquer cota monitorada lá. Se /var e /home ou no mesmo sistema de arquivos você pode fazer isso com hardlinks, então não é necessário pausar o msySQL, ou mover os arquivos para os diretórios iniciais e ligá-los novamente em '/ var / lib / whatever' .

Para conteúdo acessível pela web, eu costumo configurar os sites de cada usuário para estar em seus diretórios home de qualquer maneira (geralmente em um diretório chamado /home/<user>/public_html (com um link simbólico chamado /home/<user>/www , como alguns preferem). os arquivos estão no mesmo lugar que o resto de seus diretórios home, portanto não há nenhum local extra para contar.

Dependendo de como as cotas são contadas, a propriedade do arquivo pode ser um problema. Por exemplo, se você executar seu servidor da Web de modo que tudo seja executado como um usuário (os usuários nobody e www-data são comuns), todos os arquivos criados por scripts acessados pela Web não serão de propriedade do usuário, portanto, isso impede que sejam contados sua quota você vai estar perdendo algumas coisas em suas contas. Eu tenho cada usuário scripts executados como eles próprios (via suPHP ou phpSUexc para PHP) para que as coisas acabem corretamente significa que isso não é um problema para scripts acessíveis pela web e qualquer saída que eles criam no sistema de arquivos.

    
por 10.06.2011 / 16:25

Tags