Author Archive

Reducir tamaño de mp4

Wednesday, April 10th, 2013

Hola gente linda, acá les dejo un comandito que usé para reducir el tamaño de unos archivos mp4, espero les sirva saludos.

for i in $(ls -1 ../Batch1/* | cut -d “/” -f 3); do
ffmpeg -i ../Batch1/$i -s 352×272 -ab 128k -strict -2 $i;
done;

Balance de carga entre servicios

Thursday, February 21st, 2013

Hola gente, yo de nuevo por aquí. Hace muy poco tiempo me ha tocado trabaar para una empresa que tenía serios atrasos en un gateway GPS desarrollado en java. Al principio pensamos que era postgres, después el disco, la red, etc. Pero bueno al final el problema era el mismo GW que después de un número N de conexiones se paraba. Solución!, le saqué el polvo a un script que había hecho para balancear conexiones (algún día lo dejaré por aquí también) y lo modifiqué de la siguiente manera para que haga un round robin de conexiones. O sea, se crea una conexión nueva (-m state –state NEW) y se la manda a uno u otro (-m statistic –mode nth) haciendo coincidir el número de paquete (–packet 1), sobre la cantidad total de servicios (–every 3) cada vez que el límite se alcanza, el contador vuelve a cero. Pues bueno, acá les dejo el ejemplo para 3 servicios:

iptables -t nat -I PREROUTING -p tcp --dport 5507 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j DNAT --to-destination 192.168.1.4:5507
iptables -t nat -I PREROUTING -p tcp --dport 5507 -m state --state NEW -m statistic --mode nth --every 3 --packet 1 -j DNAT --to-destination 192.168.1.5:5507
iptables -t nat -I PREROUTING -p tcp --dport 5507 -m state --state NEW -m statistic --mode nth --every 3 --packet 2 -j DNAT --to-destination 192.168.1.4:5512

Para los que usen shorewall, tienen que cambiar PREROUTING por net_dnat, les quedaría así:

iptables -t nat -I net_dnat -p tcp --dport 5507 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j DNAT --to-destination 192.168.1.4:5507
iptables -t nat -I net_dnat -p tcp --dport 5507 -m state --state NEW -m statistic --mode nth --every 3 --packet 1 -j DNAT --to-destination 192.168.1.5:5507
iptables -t nat -I net_dnat -p tcp --dport 5507 -m state --state NEW -m statistic --mode nth --every 3 --packet 2 -j DNAT --to-destination 192.168.1.4:5512
Y bueno, eso es todo amigos. Espero que los saque del paso.
Saludos.

Mail alerts con pushOver

Wednesday, 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.

(more…)

Problema de consumo de CPU en wordpress

Thursday, 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

Thursday, 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

Thursday, 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

Friday, 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

Thursday, 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

Friday, 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 ;).

(more…)

Plesk activar un dominio desde consola

Friday, 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