Mail alerts con pushOver

January 16th, 2013

Bueno una empresa me pidió que le haga un sistema para recibir notificaciones si el servidor de correo cae. Lo que se le puede ocurrir a todo el mundo es usar un telnet y monitorear el servicio, pero cosa de descartar problema de DNS, espacio en disco y demás cosas hice un daemon un poco más complejo.
La idea es:
+ Enviar un correo y revisar si lo recibimos desde otro servidor al nuestro.
+ Luego al revés, o sea, enviar un correo desde nuestro servidor al servidor de control a ver si llega.
Si en ambos casos llegar, todo perfecto, si no envía notificaciones push a una lista de iphones. Más sencillo imposible, y más útil tampoco :P.

Read the rest of this entry »

Problema de consumo de CPU en wordpress

August 23rd, 2012

Bueno gente, dije que nunca haría un repost, pero… esto me salvó la vida. Héchenle un ojo al sitio de este colega: http://black-byte.com/snippet/problemas-de-cpu-en-host-y-wp-cron-php/

El wp-cron.php a veces chupa muchos recursos y está bueno ejecutarlo en horas pico con un script de cron. Yo lo hice con este script:

solucionesroot:/# cat /etc/cron.daily/sitio_cron
#!/bin/bash
wget -qO – “http://www.sitio.com.ar/wp-cron.php?doing_wp_cron” > /dev/null
Espero que les sirva y no se olviden de agradecer al colega, siempre viene bien un gracias 😉

Medir la performance de una página

August 23rd, 2012

Hola gente, seguramente muchos ya lo conocen hay una página que te permite medir la velocidad con que carga nuestro sitio web. Esto es muy importante cuando necesitamos optimizar un sitio web, por ejemplo un worpress que consume muchos recursos. Bien el sitio es http://tools.pingdom.com/fpt/ está genial para descartar parámetros como la lentitud de tu conexión y solo concentrarse en el consumo de CPU, RAM y performance general del sitio.

Se los recomiendo.

Saludos

Mysql muy lento en Plesk

August 23rd, 2012

Bueno gente de vuelta de las vacaciones. Perdonen si en estos días anduve medio vago y no subí nada. Hoy voy a poner un par de artículos.

Por esa cosas de la vida me encontré con este problema, la tabla smtp_poplocks se llena demasiado rápido, para que se den una idea en solo una hora tiene 2217 registros, al cabo de un par de meses esta tabla tiene un par de miles imagino. El tema es que esta tabla se usa mucho, porque se usa cada vez que se hace un auth de smtp se fija primero si no hay un pop3 o un imap autenticado. Lo que hice como primera medida fue parar el xinetd, courrier imap, el qmail, y el spadyke (en ese orden), asegurarme de que no quede ningún proceso y simplemente borrar la tabla, luego levantar todo. Con esto la performance de uno de mis servidores pasó de 50% a 4% (en horas pico).

select count(*) from smtp_poplocks;

Espero les sirva, en un par de días actualizo con el script que voy a poner en el cron, lo pongo mientras para no olvidarme.

MN

Aplicación SWT parece colgada

October 21st, 2011

Gente, no se si se acuerdan que esto pasaba también con las aplicaciones programadas en Visual Basic 6, para el cual teníamos el mágigo DoEvents, que lo que hacía no era más que decirle al sistema operativo que se acuerde que hay que refrescar el display. Bueno después de buscar miles, leer sobre threads y demás encontré una solución tan sencilla como el DoEvents.

Simplemente agreguen al bucle (for while, lo que sea):

display.readAndDispatch();

Donde display es el display que creo la shell compisite o lo que fuese. Esto se complica cuando no es un bucle el que está consumiendo mucho si no una sola instrucción, para eso les recomiendo que lean esto:

http://book.javanb.com/swt-the-standard-widget-toolkit/ch05lev1sec7.html

Saludos y espero que les sirva.

MN

Plesk default charset htaccess

September 15th, 2011

Hola, esta es una pregunta bastante recurrente que me hace la gente que me contrata hosting. Como hacer que por defecto tome el charset que nosotros queremos, fácil, agregarmos al directorio httpdocs el archivo que se llame .htacess una línea que diga:

AddDefaultCharset UTF-8

Y listo, con eso ya se verán bien nuestrá página. Lo síntomas normales es que se vén carácteres extraños en los acéntos, o en las eñes. Lo normal para joomla, drupal y otras apps de ese tipo es usar utf-8, si en cambio es una página en html hecha con dreamweber podemos usar latin-1.

Espero que les sirva.
Saludos.

Mrsid en debian 4

September 9th, 2011

Bueno gente, siempre encuentro a algún cliente que me pide algo raro. En este caso que mapserver tenga soporte para mrsid, alguna vez hace un tiempo lo intenté pero era bastante complicados por las versiones de gcc que usaba lizardtech, pero ahora está más fácil, sobre todo si no tenemos un debian muy nuevito, como es mi caso ;).

Read the rest of this entry »

Plesk activar un dominio desde consola

September 9th, 2011

Bueno, esto es muy útil sobre todo cuando tenemos la licencia del plesk vencida. Por un descuido justo hoy tuve que lidiar con esto.

1) subimos el límite de nuestro dominio que está en POSIX time (o unix time). En nuestra base de datos psa hacemos:

update Limits set value = 1347204097 where id = 220 and limit_name = ‘expiration’;

2) Activamos el dominio:

/usr/local/psa/bin/domadmin –update radiochubut.com -status true

Pero claro nos dice lo siguiente:

Unable update domain administrator: the following options are required for domain administrator creating: passwd

Lo cual estimo que debe ser porque la licencia está vencida, entonces lo resolvemos así:

2.1) Copiamos el backup de nuestro httpd.include (por eso es bueno siempre tener bkps)
solucionesroot:~# cp /home/www/vhosts/domain.com/conf/httpd.include /mnt/home/www/vhosts/domain.com/conf/

2.2) Agregamos al final del archivo /etc/apache2/conf.d/zz010_psa_httpd.conf la linea:

Include /home/www/vhosts/domain.com/conf/httpd.include

2.3) Recargamos la conf del apache: /etc/init.d/apache2 reload

¡Y buala! nuestro dominio está activo, claro que luego hay que garpar la licencia, pero a mi me sirvió para zafar hasta que la gente de Parallels se cobre de mi tarjeta.

Espero les sirva a ustedes también.
MN

Saber si nuestro procesador soporta 64bits

September 7th, 2011

Hola gente, esta es una pregunta recurrente, y hay una forma muy sencilla de resolverla. Hay dos cosas separadas:

1) si nuestro kernel está compilado para 64bits.

solucionesroot:~# uname -a
Linux solucionesroot.com 2.6.26-2-amd64 #1 SMP Tue Jan 25 05:59:43 UTC 2011 x86_64 GNU/Linux

Pero, aún cuando la arquitectura diga 32bits, puede ser que nuestro procesador soporte 64 bits.

2) Hacemos la siguiente prueba:

solucionesroot:~# cat /proc/cpuinfo | grep flags

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc pebs bts pni monitor ds_cpl cid cx16 xtpr

Si entre los flags aparece lm entonces nuestro procesador soporta Long mode, osea, nuestro procesador es de 64bits, y podemos instalar un kernel de 64bits en ese sistema. Está definición está en el archivo:
/usr/include/asm/cpufeature.h: #define X86_FEATURE_LM (1*32+29) /* Long Mode (x86-64) */
Espero les sirva.
Saludos.

Comparar directorios recursivamente

August 24th, 2011

Hola gente hoy quise hacer esto, y como un pavo busqué en google. Y me sorprendí de estas cosas que tiene linux que hace fácil todo.

Se los dejo acá.

diff –brief -r dirA dirB

Por si hay otro pavo como yo buscando lo mismo en cristiano.

Saludos.

MN