2mdc
C/ Matias Turrión, 24, 1º
Madrid 28043
Tel: 91 759 00 24
Fax: 91 759 15 18

Blog: Administración de sistemas

Inicio > Blog

Tu trabajo, tu entorno y tu: malditos cables

Publicado el: 17/10/2011 | 4 comentarios

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook

No hay nada como tener una mesa despejada para empezar a trabajar el lunes por la mañana.

El mayor enemigo de las mesas despejadas son los cables. Da igual que tengas un ordenador de escritorio o un portátil, y aunque hayas invertido en todas las tecnologías posibles para eliminar cables, ellos perviven, quizás en menor medida, pero están ahí, mirándote con esa sonrisa burlona desde sus conectores para recordarte que no van a irse … con tanta facilidad.

Pero siempre los puedes llamar al orden y mantenerlos en su sitio de forma que no molesten o que al menos, estén organizados de forma que la parte de atrás de tu escritorio no parezca la CPU central de Matrix. Aquí tienes 3 trucos de cómo hacerlo. Seguir leyendo

Análisis de redes, servicios y sistemas operativos con Nmap

Publicado el: 10/02/2010 |

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook

Nmap es la herramienta de red más completa para administradores de sistemas, al monitorizar redes y equipos y detectar vulnerabilidades antes de que sean aprovechadas por atacantes para entrar sin autorización a nuestro equipo o red. Seguir leyendo

Optimizando entornos LAMP con Memcached

Publicado el: 16/12/2009 |

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook

Al crear un portal en Internet, tarde o temprano encontraremos que a medida que crecen el número de visitantes, el rendimiento del servidor se reduce hasta llegar al punto de ser inviable su uso.

Seguir leyendo

Ejecutar un script PHP en segundo plano bajo Windows

Publicado el: 6/08/2008 | 10 comentarios

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook

Caso:

Tenemos un site que realiza una tarea muy larga y pesada, por ejemplo consultar un webservice externo con miles de registros.

Problema:

Si ejecutamos desde el servidor apache un script PHP que realize esa acción puede pasarnos:

1.- La pagina se nos bloqueará hasta que finalice su ejecución, no pudiendo ver nada más.
2.- Si el tiempo se alarga demasíado el servidor web cortará la conexión o bién lo hará nuestro navegador
3.- Si cerramos accidentalmente el navegador o se produce un error en la conexión el proceso se interrumpira.

Tentativa de Solución:

Lanzar con un exec de PHP una llamada al php.exe que ejecute el script en cuestión. Por ejemplo si tenemos el script consulta_webservice.php que es el que realiza la carga de datos del Webservice podemos escribir en nuestro script de lanzamiento lanzador_webservice.php:

1
2
3
< ?php
exec("C:\ruta_al_exe_php\php.exe -f consulta_webservice.php");
?>

Este metodo funciona optimamente bajo entornos linux, no así en windows. ¿Por qué? Pues por que deja al script lanzador esperando que termine el proceso que él mismo ha lanzado (en nuestro caso php.exe -f consulta_webservice.php)

Es decir no ganamos nada respecto a la opción de invocarle desde la web.

Buscando la respuesta:

Tras muchas horas de pruebas con diversas soluciones que en la www se dan a este problema, nos dimos cuenta que tan sólo una nos funcionaba correctamente. En concreto se trata de usar un programa auxiliar “psexec.exe” cuya principal utilidad consiste en lanzar programas tanto en nuestra máquina como en máquinas en red.

Veamos como usarlo:

En nuestro script lanzador usamos la funcion exec para lanzar este comando:

1
2
3
< ?php
exec('psexec -d C:\ruta_al_exe_php\php.exe -f consulta_webservice.php');
?>

Esta linea nos lanza desde el PHP el mencionado psexec (deberá estar en el mismo directorio en el que estamos), que a su vez invoca al php.exe que ejecuta nuestro script cargador que se ejecutará en segundo plano. Consiguiendo con este pequeño rodeo que el script lanzador quede libre de esperar a que acabe su ejecución el script cargador.

Para lograr esto usamos la opcion del psexec “-d”

Rizando el rizo:

Pero imaginemos que al script que queremos usar para cargar datos del webservice tenemos que pasarle parametros (por ejemplo un id) digamos: consulta_webservice.php?id=123

Si probamos a llamarlo tal cual lo hariamos desde la web, nos encontraremos con un fallo del psexec, el cual no admite ningún parametro con “?” o con “=”, así que recurriremos al uso de parametros específicos para ejecutar php desde la linea de comandos, tal que así:

1
2
3
< ?php
exec('psexec -d C:\ruta_al_exe_php\php.exe -f consulta_webservice.php -- 123');
?>

El script receptor, consulta_webservice.php, deberá recojer dicho valor de la siguiente forma:

1
2
3
4
< ?php
$id=$argv[1];
# $id vale 123
?>

Donde el array global $argv nos proporciona todos los parametros pasados y la variable $arvc su cardinalidad.

Resumiendo:

El programa psexec nos brinda la posibilidad de ejecutar una aplicacion en segundo plano llamada desde un script PHP ejecutado en un servidor Apache en Windows, sin interrumpir el uso nuestra aplicación web.

Podeis descargarlo aquí: psexec

7 herramientas para gestionar MySQL

Publicado el: 11/06/2008 |

Envía esta entrada a menéame Envía esta entrada a del.ici.ous Envía esta entrada a facebook

Aunque sin duda es una herramienta muy potente, en ocasiones Oracle no resulta la opción apropiada a la hora de administrar las bases de datos MySQL de cierto tipo de proyectos. Aquí van algunas herramientas alternativas: Seguir leyendo

2mdc.com Aplicaciones web C/ Matias Turrión, 24, 1º, Madrid 28043 Tel: 91 759 00 24 Fax: 91 759 15 18 Aplicaciones web