Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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;
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
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
- 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.
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
;)
Que massa João, parabéns por esta extensão. :joia:
Mandou bem Juanito :)
Mandou bem :clap:
Neto, pirei com o trabalho, muito bom parceiro....
Parabéns João.. vou olhar depois com calma
:clap:
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
Esse Neto... Sempre surpreendendo a comunidade.
Parabéns! Tu é o cara! :joia:
boa dica do JBN
pensei que o autor do tópico queria fazer algo do zero sem uso de softwares terceiros como o cpanel.
Para quem não viu, saiu no iMasters Report:
http://imasters.com.br/video/21336/outros/imasters-report-04-07-2011
>
Veja /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/seta.gif&key=e2d72b30771339c36df1f88688ecc571784dab60a19e2c7c2ff398c277802ac0" alt="seta.gif" />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:
/applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/wink.gif&key=0566fd943552bcff9cb1b879403ca34b5ff8f67befaac7fe4648006e9f764689" alt="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**' );
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.