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

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


string system();



string system ( string command [, int return_var] )

system() é igual a versão C desta função no que executa o "command" indicado e mostra o resultado. Se é dada uma variável como segundo argumento, então o código de status de retorno será escrito nesta variável.

A função system() também tenta automaticamente limpar o buffer de saída do servidor mandando os dados para o browser após cada linha de saída se o PHP estiver sendo executado como módulo de servidor.

Pequeno exemplo:

<?php
echo '<pre>';

// Mostra todo o resultado do comando do shell "ls", e retorna
// a última linha da saída em $last_line. Guarda o valor de retorno
// do comando shell em $retval.

system('ls', $retval);

// Mostrando informação adicional
echo '
</pre>
<hr />Valor de Retorno: '.$retval;
?>

Quando valor de retorno for igual a '0' (zero), significa que nenhum erro foi gerado durante o comando. Caso retorne '1', verifique a sintaxe do seu comando e se ele está certo, faça um teste no terminal com o comando.

A variável $retval não é de obrigatoriedade, serve apenas para uma verificação do comando. Você não precisa inclusive utilizar-se desta $var, pode-se criar qualquer outra. Ex.:

<?php
system('uptime', $erro_uptime);
echo $erro_uptime;
?>

ou simplesmente:

<?php
system('uptime);
?>
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

Administrando Linux via web (parte 1)

Texto puro - BitchX - cliente IRC

Texto puro - BitTorrent

WebTorrent - Interface WEB + cliente torrent

Leitura recomendada

Alta disponibilidade de links

Executando backup do MySQL e enviando por FTP

flock - Gerenciador de lockfiles

Entendendo, criando e editando pacotes Debian (.deb)

Ingressando estações de trabalho Ubuntu no AD com Closed In Directory

  
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