Archive for the ‘Servidores Linux’ Category

Trigger de intersección calles en Open Street Maps

Thursday, August 20th, 2015

Hace unos años bastante extenso sobre intersecciones que se llamaba un poco de postigs, en este caso voy a intentar hacer lo mismo pero usando OSM, espero lo disfruten, a por ello!!!.

(more…)

Redireccionar puertos

Friday, August 29th, 2014

Buenas gente, acá les dejo un mini script para redireccionar puertos a otra ip. Para que funcione primero tiene que hacer:
sysctl net.ipv4.ip_forward=1
Acá va el script:

#!/bin/bash
[ $# -eq 0 ] && { echo "Usage: $0 puertoPrincipal puertoSecundario IP"; exit 1; }
iptables -t nat -A PREROUTING -p tcp --dport $1 -j DNAT --to-destination $3:$1
iptables -A FORWARD -p tcp -d $3 --dport $1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport $1 -j DNAT --to-destination $3:$1
iptables -A FORWARD -p udp -d $3 --dport $1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A PREROUTING -p udp --dport $2 -j DNAT --to-destination $3:$2
iptables -A FORWARD -p udp -d $3 --dport $2 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
exit 0

Postgresql Conocer el tamaño de la DB y el total

Friday, August 22nd, 2014
SELECT pg_database.datname, pg_database_size(pg_database.datname), pg_size_pretty(pg_database_size(pg_database.datname)) FROM pg_database ORDER BY pg_database_size DESC;

SELECT pg_size_pretty(sum(pg_database_size(pg_database.datname))::bigint) FROM pg_database;

A buen entendedor pocas palabras 😉

Resetear el password de chamilo

Wednesday, May 8th, 2013

Me extrañó lo poco documentado que está esto, y lo sencillo que es. Pero bueno este post les evitará browsear en el código. Hay 3 posibilidades:

Texto plano)
update user set password = ‘051195’ where user_id =1;
MD5)
update user set password = md5(‘051195’) where user_id =1;
Sha1) Obvio que está era la mía
update user set password = sha1(‘051195’) where user_id =1;

Muy sencillo. Saludos a todos.

Google storage

Wednesday, April 10th, 2013

Hola a todos, nos estabamos quedando sin espacio de disco para una empresa editorial para la que trabajo, y buscando algún servicio de almacenamiento di con GoogleStorage, realmente es muy barato y nos deja almacenar todo lo que querramos. Una vez que instalamos la aplicación sólo tenemos que crear la nueva carpeta:

gsutil mb gs://nuevacarpeta

y subir los archivos:

gsutil cp -R -n -c * gs://nuevacarpeta/

A mi me sirvió para dejar nuestros discos a un 90% de su capacidad retirando proyectos que ya no necesitaremos. Espero les sirva a ustedes, yo lo recomiendo.

Saludos

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…)

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

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.