Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Vida

[Resolvido] Ver espaço em disco no servidor.

Recommended Posts

Boa noite amigos,

 

Estou tentando bolar, um script que pega o espaço total do domínio e verifica o quanto foi usado igual mostra o cPanel. Pesquisei e vi que alguns membros tentou fazer o mesmo,mas sem sucesso. Tenho utilizado as funções disk_free_space e disk_total_space para tentar obter essa informação, porém não vi nenhum parâmetro que limite a busca somente no domínio em questão, ele sempre retorna o espaço total do servidor principal.

 

Gostaria de saber se existe alguma possibilidade de obter esse tipo de informação.

 

Obrigado desde já.

 

Atenciosamente;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um modo é usar file_size recursivo mas é inviável quando há muitos arquivos e pastas.

 

Outro modo é estabelecer limite no software ftp.. o próprio server ftp mantém logs da quantidade total usada pela conta... por aí consegue obter um total parcial,

 

Porém, verifique se utiliza banco de dados e some o total usado. Também verifique o total usado pelo serviço de email, etc.

 

é uma tarefa que exige um bom controle e muito trabalho caso esteja fazendo do zero. Por isso, há soluções já prontas como o CPanel, por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Hinom,

 

Agradeço pelo seu retorno,bom pelo o que eu verifiquei a questão do file size é uma possibilidade,mas como você disse, se for muita pasta e muitos arquivos a requisição ao servidor fica lenta. Msmo sendo algo aparentemente simples é bem complicado fazer um sistema de gerenciamento nesse aspecto. Quanto ao cPanel já utilizo e consigo obter as informações necessárias, porém na minha aplicação gostaria de fazer de forma de script exibindo em conjunto com os demais elementos.Caso alguém conheça alguma solução,ficarei grato.

 

Obrigado pela atenção.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

então... realmente não há uma mágica..

 

Um aplicativo num nível pleno leva muitos anos a não ser que tenha uma equipe de especialistas, o que exige custos e no mínimo alguns meses de trabalho. Devido aos custos de desenvolvimento e aos prazos para retorno do investimento, a maioria opta por soluções prontas, inclusive algumas são free.

 

Se quiser continuar mesmo, comece padronizando quais os tipos de serviços serão controlados. Por exemplo, faça uma lista dos softwares mais populares para criar compatibilidade para cada um deles:

- FTP

- E-MAIL

- SGDB ( mysql, oracle, mssql, postgresql, firebird, sqlite, mongo, etc )

- Arquivos de logs ( apache, nigx, iis, xitami, sgdbs, e-mail, ftp, ec.. )

- Pastas temporárias, geralmente usada para upload de arquivos via http, cache de dados, etc.

 

Basicamente ao criar um novo domínio no server, crie processos automatizados que gerem os outros serviços e todos eles já direcionados para um único diretório, ou pode ficar em diretórios ou partições distintas, desde que tenha controle sobre a organização, enfim, o importante é ter controle sobre o espaço em disco utilizado por cada serviço disponível para o domínio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja :seta: http://imasters.com.br/noticia/21330

 

Mais especificamente a operação AccountModule::accountSummary()

 

Para usar:

 

Clone do repositório:

git clone git://github.com/iMastersDev/cpanel.git

 

Exemplo de código:

<?php
require_once 'com/imasters/php/cpanel/cPanel.php';
require_once 'com/imasters/php/cpanel/cPanelBasicAuthentication.php';

$cpanel = new cPanel( 'demo.cpanel.net' , new cPanelBasicAuthentication( 'demo' , 'demo' ) );
$cpanel->useSecureConnection( false );

$accountSummaryOperation = $cpanel->account()->accountSummary( 'demo' );
$accountSummaryOperationResponse = $accountSummaryOperation->call();

foreach ( $accountSummaryOperationResponse->acct as $account ) {
echo 'Domínio: ' . $account->domain , PHP_EOL;
echo 'Uso de disco: ' . $account->diskused , ' de ' , $account->disklimit , PHP_EOL;
}

 

Saída:

Domínio: demo.cpanel.net

Uso de disco: 89M de 500M

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nem sei como agradecer João!

 

Comecei a trabalhar diretamente com o cPanel recentemente e tenho gostado de mais de utilizar a ferramenta, com essa biblioteca desenvolvida com certeza vai ajudar muito mais. Muito obrigado e meus parabéns pelo excelente trabalho.

 

Boa noite a todos,

 

Cheguei cansado em casa, devido ao um dia exaustivo, mas como a curiosidade de ver o script funcionar foi maior não teve jeito, tive que testar. E era exatamente a solução ao qual necessitava, funcionou perfeito. Mal posso esperar para experimentar as demais funcionalidades.

 

Obrigado a todos que estiveram presentes no tópico disposto a ajudar, ao demais que comentaram em agradecimento ao João Batista e meu muito obrigado em especial.

 

Parabéns pelo desenvolvimento, está show! :lol: :clap: :joia:

 

PS: Fico contente que a minha dúvida serviu de base para o exemplo.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa dica do JBN

 

pensei que o autor do tópico queria fazer algo do zero sem uso de softwares terceiros como o cpanel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para quem não viu, saiu no iMasters Report:

 

http://imasters.com.br/video/21336/outros/imasters-report-04-07-2011

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja seta.gifhttp://imasters.com.br/noticia/21330

 

Mais especificamente a operação AccountModule::accountSummary()

 

Para usar:

 

Clone do repositório:

git clone git://github.com/iMastersDev/cpanel.git
Exemplo de código:

<?php
require_once 'com/imasters/php/cpanel/cPanel.php';
require_once 'com/imasters/php/cpanel/cPanelBasicAuthentication.php';

$cpanel = new cPanel( 'demo.cpanel.net' , new cPanelBasicAuthentication( 'demo' , 'demo' ) );
$cpanel->useSecureConnection( false );

$accountSummaryOperation = $cpanel->account()->accountSummary( 'demo' );
$accountSummaryOperationResponse = $accountSummaryOperation->call();

foreach ( $accountSummaryOperationResponse->acct as $account ) {
echo 'Domínio: ' . $account->domain , PHP_EOL;
echo 'Uso de disco: ' . $account->diskused , ' de ' , $account->disklimit , PHP_EOL;
}

 

Saída:

 

 

wink.gif

 

 

 

Criei um arquivo index.php apenas para teste localhost dentro da estrutura de pasta que tem no seu GIT e as seguintes mensagens de erro apareceram.
Notice: Undefined property: stdClass::$acct in ...
Warning: Invalid argument supplied for foreach() in ...
ERRO É NA LINHA 11
LINHA 11 = foreach ( $accountSummaryOperationResponse->acct as $account ) {
Não seria a seguinte configuração ?
$cpanel = new cPanel( 'dominio.com.br' , new cPanelBasicAuthentication( 'usuario_cPanel' , 'senha_cPanel' ) );
$accountSummaryOperation = $cpanel->account()->accountSummary( 'usuario_cPanel' );

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.