CGI com Shell Script [RESOLVIDO]

1. CGI com Shell Script [RESOLVIDO]

Leandro Bernardo
leandro.bernardo

(usa Debian)

Enviado em 29/10/2011 - 17:28h

Olá amigos do VOL.

Estou desenvolvendo um script CGI que busca informações do servidor que o CGI está rodando.

Gostaria de um auxílio para rodar o comando top -M. Quando rodo este comando dentro do script o retorno é nulo.


O script funciona mais ou menos desta maneira:


#!/bin/bash

echo "content-type: text/html"
echo
echo
echo "
<html> <head> <title> CGI script </title> </head>
<body>
<h1> Algumas informacoes sobre a maquina que o CGI esta rodando: </h1>
</body>
"
echo "<h2>Horario:</h2>"
echo "<pre> `date` </prev>"
echo " "
echo " "
echo " "

echo "<h2>Uptime:</h2>"
echo "<h4>(Informacoes sobre o tempo dos processos em execucao:)</h4>"
echo "<pre> $(uptime) </prev>"
echo " "
echo " "
echo " "

echo "<h2>Processos em execução:</h2>"
echo "<pre> $(top -M) </prev>"
echo " "
echo " "


</body>
</html>"



Pensei em redirecionar a saída do comando top para um arquivo qualquer e depois imprimir ele com a saída do comando cat,
mas até então não obtive sucesso. Espero poder contar com a ajuda de vocês!


Att,
Leandro Bernardo


  


2. Re: CGI com Shell Script [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 30/10/2011 - 14:04h

Acho que você precisa de uma chamada system.
Até onde entendi, você precisa fazer uma chamada via system, pegar as infos e receber o retorno. O ideal acho que seria separar em 2 scripts. Não sei nada de CGI se falei besteira a galera da um help.


3. Re: CGI com Shell Script [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 30/10/2011 - 15:18h

Faça um teste digitando o comando que retorna erro no seu terminal.

Para mim o comando top não tem esse parâmetro -M




4. Re: CGI com Shell Script [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 30/10/2011 - 15:20h

Outra coisa, você não vai conseguir usar o comando top, a não ser que exista opção nele para poder mostrar o resultado na saída padrão e sair, originalmente o top fica parado na tela esperando a interação do usuário, o que não daria certo no CGI com shell.

O que o comando top -M retornaria, outro comando pode trazer esse resultado para você, como o free???


5. Re: CGI com Shell Script [RESOLVIDO]

Leandro Bernardo
leandro.bernardo

(usa Debian)

Enviado em 30/10/2011 - 20:36h

Cara a opção -M do top não só existe como é detalhada através do :$man top

-M : Detect memory units
Show memory units (k/M/G) and display floating point values in the
memory summary.



A saída do comando free me retorna apenas a quantidade de memória utilizada seja de troca(swap) ou não.


Já através do top -M eu consigo visualizar requisições de memória, PID e a quais usuários o processo pertence.


Para um ambiente de missão crítica ter essas informações é essencial.


Vou tentar utilizar a saída do comando top -M -n 30 com o comando tee.


Caso funcione aviso vocês por aqui!


Att,


Leandro Bernardo


6. Re: CGI com Shell Script [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 30/10/2011 - 20:45h

tudo bem, é que no meu não tem: top: procps version 3.2.8

$ top -M
top: unknown argument 'M'
usage: top -hv | -bcisSH -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

Bom o complicado de usar o top dentro do CGI que vi é que ele depende de interação.

Se não der certo com o top, veja se o comando ps -aux lhe atende

Boa sorte então, espero que consiga.



7. Re: CGI com Shell Script [RESOLVIDO]

Leandro Bernardo
leandro.bernardo

(usa Debian)

Enviado em 31/10/2011 - 22:30h

Bom galera, depois de muito quebrar a cabeça consegui gerar o log do comando top.

Segue:

top -b | tee /home/guialinux/testando.txt

Caso necessitem de alguma explicação é só perguntar!


Att,


Leandro Bernardo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts