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.476 ]

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


Código PHP + shell pronto para ser usado



O código abaixo retorna as seguintes informações:
  • uptime
  • Nome do servidor / arquitetura / distribuição
  • Processador
  • memória existente / utilizada
  • HD - tamanho / % usada
  • fstab
  • PCI´s existentes no computador
  • Programas ativos
  • Usuários logados
  • Usuários do samba logados
  • Arquivos utilizados do samba no momento
  • Interface de rede
  • Portas abertas
  • Firewall
  • Backups ativos

<html>
<head>
<title>Relatório Servidor :: DEBIAN</title>
</head>

<body>
<p> </p>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0" class="a">
  <tr>
    <td class="a"><div align="center"><strong>SERVIDOR DEBIAN</strong> </div></td>
  </tr>
  <tr>
    <td class="a"> </td>
  </tr>
  <tr>
    <td class="a"><strong>Uptime:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('uptime');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Servidor:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('uname -a');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Processador:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php

            system('cat /proc/cpuinfo');
?>
</td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Memória:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('vmstat -S M 1 5');
?></td>
  <tr>
    <td class="a"><hr width="50%" /></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('free');
?></td>
  </tr>
  <tr>
    <td class="a"><hr align="center" width="50%" noshade="noshade" /></td>
  </tr>
  <tr>
    <td class="a"><?php echo '<pre>';
system('vmstat -s');?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>HD:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('df -Th');

?></td>
  </tr>

  </tr>
  <tr>
    <td class="a"><hr width="50%" /></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('cat /etc/fstab');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>PCI:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('lspci');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Programas Ativos: </strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('ps -A');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Usuarios Logados: </strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('who');
?></td>
  </tr>
  <tr>
    <td class="a"><hr align="center" width="50%" /></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('smbstatus');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Interface de Rede: </strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('/sbin/ifconfig');
?></td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Portas Abertas: </strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('nmap localhost');
?></td>
  </tr>
    <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>FIREWALL: [1] Ligado [0] Desligado </strong></td>
  </tr>
  <tr>
    <td class="a"><strong>rpfilter</strong>:
    <?php
system('cat /proc/sys/net/ipv4/conf/default/rp_filter');
?></td>
  </tr>
  <tr>
    <td class="a"><strong>ipforward</strong>:
    <?php
system('cat /proc/sys/net/ipv4/ip_forward');
?></td>
  </tr>
  <tr>
    <td class="a"> </td>
  </tr>
  <tr>
    <td class="a"><strong>matches:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('cat /proc/net/ip_tables_matches');
?></td>
  </tr>
  <tr>
    <td class="a"> </td>
  </tr>
  <tr>
    <td class="a"><strong>Names</strong>:</td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('cat /proc/net/ip_tables_names');
?></td>
  </tr>
  <tr>
    <td class="a"> </td>
  </tr>
  <tr>
    <td class="a"><strong>Targets:</strong></td>
  </tr>
  <tr>
    <td class="a"><?php
echo '<pre>';
system('cat /proc/net/ip_tables_targets');
?></td>
  </tr>
  <tr>
    <td class="a"> </td>
  </tr>
  <tr>
    <td class="a"><hr /></td>
  </tr>
  <tr>
    <td class="a"><strong>Backups ativos </strong></td>
  </tr>
  <tr>
<tr>
    <td class="a">
    <?php
system('ls /mnt/sdb2/BACKUP');
?></td>
    <td class="a"><div align="right"><em> brunos.ti@gmail.com </em></div></td>
  </tr>
</table>
</body>
</html>
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 - BitTorrent

Texto puro - BitchX - cliente IRC

Administrando Linux via web (parte 1)

WebTorrent - Interface WEB + cliente torrent

Leitura recomendada

Ubuntu 14.04 no AD com CiD

Apresentando o Yad - "zenity melhorado"

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

Alta disponibilidade de links

Como programar backup com rsync e cron de maneira rápida e simples

  
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