Category Archives: Tecnología

Luna Script 1.3 para el cliente IRC BitchX

Por fin he sacado Luna Script 1.3, pocas modificaciones pero muy impotantes: solventado fallo de seguridad de versiones 1.2 y anteriores.

Luna es un script para el cliente de IRC de consola BitchX totalmente en castellano y hecho a mi medida aunque tengo constancia que también les resulta útil a terceros. Seria interesante hacer una traducción al inglés del mismo para que los usuarios no hispanos pudiesen utilizarlo, quizás en verano si tengo algo de tiempo lo haga… nadie se anima a echar una mano? El trabajo esta en traducir el README y todas las llamadas a “status” e “info” que se realiza en el código, para visualizarlos:

cd lunascript-1.3/luna/
grep info *
grep status *

La idea seria hacer dos scripts separados diferentes segun el idioma ya que no he encontrado ninguna facilidad para hacer scripts multi-idiomas de forma sencilla y eficiente en BitchX. Hay trabajo pero haremos que el script sea útil a muchisima más gente… si usas BitchX, sabes Inglés y quieres colaborar en un proyecto libre… adelante! 😉

Envio de backups por mail

Hace mucho que tenia en mente algo interesante para el servidor web donde esta esta web: que me envie de forma periodica un backup de la base de datos por mail. Hoy me he puesto manos a la obra.

Para hacerlo he utilizado un script en perl encontrado en una web que he llamado sendfile.pl:

#!/usr/bin/perl
 
use Mail::Sender;
 
if (!($ARGV[0])) {
        print "\n\tUsage: $0  \n\n";
        exit;
}
$file_name    = $ARGV[0];
$smtp_server  = 'localhost';
$sender_mail  = 'Cron ';
$recipients   = 'Destino ';
$mail_subject = 'Backup';
$msg_body     = "\n\n Attachment backup";
 
$sender = new Mail::Sender { smtp => $smtp_server ,
                             from => $sender_mail
                           };
$sender->MailFile(
        {to      => $recipients,
         subject => $mail_subject,
         msg     => $msg_body,
         file    => $file_name });
$sender->Close;

Este script requiere el modulo Mail:Sender de Perl, para instalarlo podemos hacer:

perl -MCPAN -e shell
install Mail::Sender

A continuación he creado un script en bash llamado sendbackup.sh:

#/bin/bash
FECHA=`date +%d%m%Y`
tar -jcvf /home/user/bin/db-backup-$FECHA.tar.bz2 /var/lib/mysql/user/
/home/user/bin/sendfile.pl /home/user/bin/db-backup-$FECHA.tar.bz2
rm -f /home/user/bin/db-backup-$FECHA.tar.bz2

Como podeis imaginar he guardado ambos scripts en /home/user/bin/. A continuación he añadido al cron como usuario root (o un usuario que tenga permisos para copiar directamente la base de datos) usando “crontab -e”:

15 6 * * 6 /home/user/bin/sendbackup.sh &> /dev/null

Esto hará que 1 vez a la semana a las 6:15 me envie el backup por mail. Lo correcto hubiese sido parar y volver a poner en marcha la mysql antes de hacer el tar, pero para no afectar al resto de procesos que acceden a la BD no lo he hecho ya que me funciona correctamente así también. Otra cosa a tener en cuenta es que el mail se envia sin ningún tipo de encriptación, por tanto estaría bien añadirla utilizando GnuPG aunque en este caso lo he descartado ya que la información que envia no es nada confidencial y no puede ocasionar ningun daño irreversible la intercepción del mail.

Actualizacion He mejorado el sistema para que el envio sea encriptado, lo podeis ver en la segunda parte del post.

Renombrar multiples archivos

Hoy necesitaba renombrar un monton de archivos con un patron estático, he encontrado Ren, comando fantastico para renombrar masivamente, e.g.

ren "Campus\ Party\ 2003\ \(1\)\ 0*" "cp-2003-1-#1"

Esto renombra todo los ficheros “Campus Party 2003 (1) – 001.jpg”, “Campus Party 2003 (1) – 002.jpg”…. por “cp-2003-1-001.jpg”, “cp-2003-1-002.jpg”…

Para instalar en gentoo el comando ren:

emerge ren

Más info en el manual: man ren

Libros electrónicos: Libros electronicos

Acabo de leer un fanstastico artículo: Libros electronicos: ni libros, ni electrónicos…

Corresponde a una conferencia de Cory Doctorow (traducido por Javier Candeira) y habla sobre los beneficios de los libros electrónicos, no los libros electrónicos de pago que intentan ser restringivos en cuanto a su duplicación virtual, sino a los libros que te permiten realizar copias, modificaciones, etc…

Este mismo autor ha experimentado con los libros electrónicos editando Down and Out in the Magic Kingdom, el cual puede ser descargado bajo una licencia libre Creative Commons o comprado en una libreria.

En el artículo “Libros electronicos: ni libros, ni electrónicos…” se realiza toda una crítica de lo que supone Internet y la digitalización de obras, centrandose principalmente en los libros pero haciendo alguna referencia también a la música. Todo acompañado de una constante visualización de la evolución histórica de este tipo de arte que nos hace comprender que “no es tan fiero el leon como lo pintan”. Lectura recomendada sin duda.

Cabe destacar también una página relacionada con este tema: El proyecto Gutemberg. En ese site es posible encontrar muchisimos libros disponibles legalmente para descargar. Y también señalar la existencia de Noveles, lugar donde escritores noveles pueden publicar su libro por 30 euros y percibir la mitad de las ventas electronicas que se realizen (la descarga de un libro cuesta 1 euro).

/etc/fstab: permitir montar a usuarios

Hoy he aprendido que cuando queremos hacer que un punto de montaje pueda ser montado por un usuario tenemos dos posibilidades:

* “user”: Cualquier usuario (X) puede montar el dispositivo, pero solo X puede desmontarlo.
* “users”: Cualquier usuario puede montar el dispositivo y cualquiera puede desmontarlo.

No sabia que existian estas 2 alternativas, creia que solo existia “user” y no comprendia pq si montaba con un usuario, otro no podia desmotar 🙂 Pongo un par de ejemplos del fichero /etc/fstab:

/dev/fd0    /mnt/floppy    vfat    noatime,noauto,users,sync    0 0
/dev/cdroms/cdrom0    /mnt/cdrom    iso9660 noauto,ro,users,fs=auto    0 0

Estilos para wordpress

Para aquellos que esten pensando tener un blog o migrar de blog y descartaban wordpress por falta de temas predefinidos a elegir, aqui tienen una buena notícia: ya hay 45 temas predefinidos gracias a un concurso.

WordPress es el sistema que utiliza este blog, hasta la actualidad el sistema más utilizado era Movable Type pero tenia algun problemilla con su licencia segun tengo entendido. WordPress es el primer blog que puede empezar a plantar cara a las características de Movable Type, cosa que es beneficiosa para ambos proyectos ya que se generará competencia y la competencia generará mejores resultados 🙂