Relatório do sistema (Shel Script + PHP)

Relatório de seu sistema utilizando linguagem PHP e shell script. Pode ser visualizado por qualquer ponto de sua intranet ou inclusive pela web, de forma bem simples e totalmente visual.

[ Hits: 64.410 ]

Por: Bruno Magalhães de Souza em 28/02/2007 | Blog: http://www.linkedin.com/in/brmagalhaes


Criando relatório



Agora que sabemos como executar um determinado comando no terminal através de uma página em PHP, torna-se fácil a criação de um relatório.

Vamos criar um exemplo bem simples.

Inicie seu editor de Html preferido ou faça um a partir do zero. Lembrando que a página deverá ser salva em sua pasta de web, /var/www.

# touch relatorio.php

Edite o arquivo com qualquer programa de sua preferência. Eu gosto do 'mc':

# mc

Digamos agora que queremos um relatório do sistema, com alguns poucos comandos.

Tempo ativo -> uptime
memória livre -> free
processos em execução -> ps -A
usuários logados -> who

Use a imaginação e crie quaisquer comandos.

Você pode inclusive criar uma página que retornará todos os processos e com um botão dar um 'kill -9 $processo' onde $processo é a variável que será enviada ao sistema.

Vamos a criação:

relatório.php

<html>
<body>
<h1>RELATORIO SERVIDOR :: DEBIAN </h1>
<br>
<h2>UPTIME:</h2>
<?php
echo '<pre>';
system('uptime');
?>
<br>
<h2>MEMORIA:</h2>
<?php
echo '<pre>';
system('free');
?>
<br>
<h2>PROCESSOS:</h2>
<?php
echo '<pre>';
system('ps -A');
?>
<br>
<h2>USUÁRIOS:</h2>
<?php
echo '<pre>';
system('who');
?>
</body>
</html>

Agora abra um browser e digite:

http://ip-servidor/relatorio.php

e divirta-se com o resultado.

Página anterior     Próxima página

Páginas do artigo
   1. Comentários e testes
   2. PHP + Shell Script
   3. string system();
   4. Criando relatório
   5. Proteção do seu código
   6. Código PHP + shell pronto para ser usado
   7. Conclusão e considerações finais
Outros artigos deste autor

Texto puro - BitchX - cliente IRC

Administrando Linux via web (parte 1)

WebTorrent - Interface WEB + cliente torrent

Texto puro - BitTorrent

Leitura recomendada

Extracttext - como extrair texto de uma área selecionada da tela

Shell Script como serviço no Windows

Monitoramento de pops para provedores

getopts: criando scripts Bash com parâmetros e argumentos personalizáveis

Assinatura de documentos PDF em lote via Bash

  
Comentários
[1] Comentário enviado por rebinat em 28/02/2007 - 14:02h

Caro amigo, paraben pelo artigo muito bem feito e desenvolvido...

mas gostaria de acrescentar que tem um projeto sobre isso que vc disse que é muito bom e bonito é o phpsysinfo

segue em exemplo pra verem como é

http://200.205.201.2/sysinfo/

[2] Comentário enviado por brmagalhaes em 28/02/2007 - 14:14h

Obrigado...

O phpsysinfo mostra de forma clara e bonita realmente todas as informações do sistema.
O artigo tenta mostrar algo maior, a interação com seu sistema. Quaisquer comandos executados corretamente, trará ao navegador a resposta exata e de uma forma melhor visualizada.

[]´s

[3] Comentário enviado por clebereng_2004 em 09/04/2007 - 11:45h

ola amigo estou precisando de uma ajuda sua, bom estou precisando executar um comando como /etc/rc.d/squid stop , mais nao consigo executar, dá um erro e não executa o comando, como fazer para que eu consiga executar um comando desse tipo via browser com PHP.
atenciosamente cleber.

[4] Comentário enviado por brmagalhaes em 09/04/2007 - 17:37h


clebereng_2004:

Ola amigo, existe algumas formas de executar:

o user que você está utilizando o acesso a web é nobody, certo?
o que você pode entao fazer?

1 MANEIRA

chmod no prog squid para q ele seja executado por qualquer usuario, inclusive o nobody

-como root faça
# chmod 7666 /usr/sbin/squid

isso fará com que qualquer user possa executar os 'squid -k reconfigure' ou 'squid stop' 'squid -z'.

depois disso. crie uma página assim:

-- codigo fonte pagina --
-- squid.php --
<html>
<body>
<?php
#inicio php
if($_REQUEST['action']=="restart")
{
system('/usr/sbin/squid -k reconfigure', $a);
if ($a == '0') {
echo "Serviço reiniciado com êxito";
}
}
#fim php
?>

// conteudo aqui

<?
# botao para reiniciar servicoi
echo "<a href=squid.php?action=restart><img src='img/reiniciar.jpg' width='90' height='20' border='0' ></a>"
#fim php
?>

-- fim pagina --
seria uma boa colocar um LOGIN e SENHA aqui.. pois qualquer um poderia fazer, qualquer usuario da rede, e nao exclusivo do sistema.
use esse sistema aqui -
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6143&pagina=5

espero ter ajudado.

[]´s

[5] Comentário enviado por guilhermecunha em 22/05/2008 - 19:46h

Ótimo Artigo !!!!

Concerteza, vou usar ele e manter os créditos!

Parabéns!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts