Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

viernes, 29 de abril de 2011

Monito in the shell · Mapa de red

Desde que dejaron de hacer las casas sin corrales y en sentido vertical, a alquitranar las veredas, a sustituir, una cabra a cambio de tres gallinas ponedoras, por el papel moneda, a marcharse a la gran ciudad a trabajar en la fábrica química o java; desde entonces, algo empezó a ir mal.



Monito in the shell, mapa de red, son unas cuantas pocas líneas que sirven para ver que máquinas están encendidas en un rango predeterminado de direcciones IP.
¿Para qué vale eso?
En una granja de servidores, que necesitan estar encendidas 24 horas, puede tener su utilidad, para echar un vistazo rápido y que todas estén encendidas.
En una lan, puede tener su utilidad para ver quien anda enganchado... incluso se puede modificar el código para que al pulsar sobre una máquina se encienda o se apague por ssh o wake on lan o vete a saber.

La dependencia:
# apt-get install nmap

Los archivos:
* index.php


* mapared.php


Ésto es GPL, se distribuye sin ninguna garantía, pero puede gustarle a tu tía.

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.

lunes, 28 de febrero de 2011

Formato fecha españa cateta desde SQLite hacia PHP

Las fechas se suelen almacenar en las bases de datos con formato yanqui, o lo que es lo mismo AÑO-MES-DÍA. Para mostrar dichas en formato de por aquí DÍA-MES-AÑO se puede echar mano de la función explode de php:

$ sqlite fechas.sqlite
SQLite version 2.8.17
Enter ".help" for instructions
sqlite> CREATE TABLE Fechas(id INTEGER PRIMARY KEY,fecha NUMERIC);
sqlite> INSERT INTO Fechas(fecha) VALUES('2010-12-31');
sqlite> INSERT INTO Fechas(fecha) VALUES(date('now'));
sqlite> SELECT * FROM Fechas;
1|2010-12-31
2|2011-02-28
sqlite> 

Creamos base de datos llamada fechas.sqlite, tabla Fechas con el campo id que será auto incrementable, y el campo fecha.
Para acceder y mostrar los datos desde php procederíamos con:

<?php

$conexion = sqlite_open('fechas.sqlite');
$sentencia = sqlite_query($conexion, "SELECT * FROM Fechas");
while ($campo = sqlite_fetch_array($sentencia)) {
 $trocitos = explode('-',$campo['fecha']);
 $dia = $trocitos[2];
 $mes = $trocitos[1];
 $ano = $trocitos[0];
 echo $dia ."-". $mes ."-". $ano ."<br>";
}
sqlite_close($conexion);

/**
SALIDA:
31-12-2010
28-02-2011
**/

?>

Con explode conseguimos dividir una cadena en trozos a partir de un patrón, en este caso "-". El resultado es un array con tantos índices como trocitos.

sábado, 26 de febrero de 2011

Apache + PHP + SQLite en Debian

aptitude update
aptitude install apache2 php5 libapache2-mod-php5 php5-sqlite