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: 63.902 ]

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

Texto puro - BitTorrent

Texto puro - BitchX - cliente IRC

WebTorrent - Interface WEB + cliente torrent

Administrando Linux via web (parte 1)

Leitura recomendada

Ubuntu 14.04 no AD com CiD

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

Aviso de queda de Internet via Sendxmpp

Piano Gripe 3 - Caracteres de controle

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

  
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