viernes, 22 de abril de 2011

Monito in the shell

¿Cómo mostrar a través de php en web y a tiempo real la salida de un comando linux?


Es una chapuza, pero se puede decir, que es como una prueba de concepto de la que partir para confeccionar un monitor completo de servidores linux en web. Uptime, whois, reboot, du, rsync, free, fdisk -l, top, nmap, iptables, history...

Necesitaremos tres archivos:
- index.php (será nuestra página principal)
- tiempoarriba.php (será el script que ejecute el comando uptime)
- jquery.js (lo utilizaremos para ejecutar tiempoarriba.php y mostrar su salida mediante ajax)

* index.php , es simplemente un archivo con la estructura básica HTML5.



A reseñar, nos bajamos jquery y lo enlazamos. Y creamos la función que nos traerá el comando. setInterval, lleva como segundo parámetro 1000 milisegundos = 1 segundo, que es el tiempo con el que indicamos ¿cada cuánto te ejecuto el primer parámetro? En este caso, es el método load() que carga via ajax la salida del script php tiempoarriba.php.
Dentro de body tenemos un selector con id=tiempoarriba, que es donde se vuelca la salida de tiempoarriba.php


*tiempoarriba.php



Es un script que utiliza la función shell_exec() para ejecutar un comando de sistema y devuelve (imprime por pantalla) la salida de ese comando.


Poco más, con ésto y un bizcocho, nos vemos a las ocho. En casa de Mateo siempre había cachondeo.

No hay comentarios:

Publicar un comentario