Script para combinar grep y tail

Este script es muy interesante, nos permite con el comando “tail” ver en tiempo real el contenido de un fichero y con “grep” resaltar en colores las palabras clave por las que busquemos.

La forma de usarlo es: flowgrep fichero_donde_buscar patron_de_busqueda.

Ejemplo: ./flowgrep event.log [0-9]+ (este ejemplo es para ver diferenciados en el tail todos los numeros que salgan en el log)

Nota: le tendremos que dar antes de todo permisos de ejecucion 😀 chmod +x flowgrep

#!/bin/bash
[ $# -lt 2 ] && echo "$0 file \"pattern\"" && exit 0
tail -f $1|while read line; do echo $line|egrep --color "$2"; done

Gestionar la cola de correo en Qmail con QmHandle

La cola de correo es algo que cualquier administrador de sistemas se acostumbra a lidiar con ello. Normalmente no dá problemas y se regula muy bién por si misma si está bién configurada y optimizada para las necesidades de cada servidor. Ahora, cuando se detecta un spammer o un cliente envía email con una de sus listas, la cola de mensajes empieza a subir y los envios de emails se pueden retrasar hasta que la cola se normalice.

El sintóma típico de que suba es alguien haciendo spam. Para localizar el spammer podemos seguir los pasos comentados en este otro post.

Y para gestionar la cola de correo y limpiarla de los emails “malos” a mi me gusta mucho qmHandle.

qmHandle es una herramienta (script) escrita en perl que sirve para manejar la cola de correo de Qmail.
La última versión puede ser descargada aquí, paso a describir las distintas opciones de las que dispone:

Utilización:

qmhandle <opción>

Opciones de Qmhandle:

-a : Enviar todos los mensajes pendientes de la cola
-l : Listar las colas de correo
-L : Listar cola de correo local
-R : Listar cola de correo remota
-s : Mostrar por pantalla estadísticas
-mN : Mostrar mensaje N
-dN : Borrar mensaje N
-Stext : Borrar todos los mensajes cuyo asunto contenga «text»
-D : Borrar todos los correos de la cola (remota y local)
-V : Sacar versión por pantalla
-c : Resultados con colores
-N : Listar solo números (identificadores) de mensaje

Primero listamos cuantos mensajes en la cola (sobre todo la remota) existen.
Si hay miles, hay un spammer seguro.

Primero listo los mensajes en remoto:

# ./qmHandle -R | less

y miro los que se repiten, es habitual que hayan muchos emails con el mismo asunto. SI ves que hay
centenas de mensajes repetidos y que además vienen devueltos, lo más sencillo y rápido es borrarlos

# ./qmHandle -S”texto-a-buscar-en-asunto-y-eliminar”

Si por ejemplo el subject es “Win lottery now”, lo colocas en S”texto” y te los borrará automaticamente.
Si buscasa la palabra “failure” en el subject, ya te cargas unos cuantos.

Cuidado porque Qmhandle para el servicio qmail y si tiene algún problema lo deja parado y no lo arranca.

Como usar aplicaciones de Android en Ubuntu

Paso 1.- Descargamos – Android SDK 1.5 (160 MB )

Paso 2.- Instalaremos todos los paquetes necesarios, para ello abre una terminal y teclea

sudo apt-get install openjdk-6-jre

Paso 3.- Extraemos el archivo que descargamos en el paso 1 lo guardamos en nuestra carpeta personal y en la terminal tecleamos:

cd ~/android-sdk-linux_x86-1.5_r2/tools

Paso 4.- Crearemos una tarjeta SD virtual de 2GB:

./mksdcard 2048M SDCard1

Paso 5.- Ahora vamos a crear nuestro dispositivo virtual Android:

./android create avd -n virtualandroid -t 2

Nota: Puedes ponerle el nombre que desees reemplazando virtualandr por lo que tu quieras.

Paso 6.- Crearemos un lanzador para acceder fácilmente a nuestro dispositivo virtual, para ello ve al Escritorio y haz clic derecho en un espacio libre, selecciona la opción «Crear un lanzador».

Se abrirá una ventana con varias opciones, en el área de Comando escribe la siguiente línea, reemplazando las palabras en negrita por las que correspondan:

/home/TUUSUARIO/android-sdk-linux_x86-1.5_r2/tools/emulator @kaeltas -sdcard /home/TUUSARIO/android-sdk-linux_x86-1.5_r2/tools/SDCard1

Listo eso es todo, ahora para ejecutar aplicaciones en Android bastará con hacer doble clic en el lanzador y se iniciará el emulador de Android.

Replicación y ditribución de carga de MySQL

Replicación es la copia sincronizada entre dos o más servidores de bases de datos, de forma de que cualquiera de ellos puede entregar los mismos resultados a sus clientes. Se basa en un esquema «maestro-esclavos», en el que el maestro mantiene la base de datos original y los esclavos las copias.

El funcionamiento es el siguiente: los servidores esclavos se conectan al maestro para consultar sus logs y asg mantenerse informados de las operaciones de modificación que ha realizado (insert, delete, update, …) para a su vez poder realizarlas también ellos y mantener una replica exacta de la base de datos del servidor maestro. Los servidores esclavos sólo sirven para consultas.

Esto nos proporciona:

  • Replica automática de los datos en máquinas remotas.

  • Balanceo de la carga (de las consultas).

  • Alta disponibilidad mediante redundancia de servidores.
  • Si cae el maestro

  • Copias de seguridad en esclavos sin interrumpir maestro.
Continuar leyendo «Replicación y ditribución de carga de MySQL»

Cambiar el UID de un usuario en LINUX

1.- Identificamos el usuario al que vamos a cambiarle el UID

# id ghosti
uid=10008(ghosti) gid=2234(blog) groups=2524(blog)

2.- Cambiamos con el comando usermod el UID del usuario

# usermod -u 10000 ghosti

3.- Identificamos de nuevo al usuario que hemos cambiado el UID y vemos que efectivamente el UID lo hemos cambiado

# id ghosti
uid=10000(ghosti) gid=2234(blog) groups=2524(blog)