Como buen troll que soy me mantengo entretenido y participo en varias comunidades o foros en internet. siempre quise mantener mi firma apuntando a mi ultimo articulo publicado pero al mismo tiempo me da flojera actualizar todos esos foros cada vez que publico algo nuevo.

Ya que tengo corriendo apache en mi NSLU2 decidí crear un script que me cree un archivo .htaccess y así redirigir una petición HTTP en especifico a mi ultima publicación en mi blog. Para esto he decidido crear un sub-directorio en mi RootDirectory llamado '/latest'

mkdir /var/www/linuxevolution.org/htdocs/latest mkdir /var/www/orvtech.com/htdocs/latest

El script hace un poco mas que simplemente crear el htaccess. Me permite especificar cuales VirtualHost corriendo NanoBlogger quiero usar, creando un .htaccess para cada uno de estos como se puede ver aquí:

#!/bin/bash DocummentRoot="/var/www/linuxevolution.org/htdocs /var/www/orvtech.com/htdocs"' for virtualhost in $DocummentRoot do cat $virtualhost/rss.xml  | grep link | grep archives |\ head -n1 | sed -e :a -e 's/<[^>]*>//g;/</N;//ba' |\ awk '{print "RewriteEngine on\nRewriteRule (.*) "$0" [R=301,L]"}' > $virtualhost/latest/.htaccess done

En mi caso tengo 2 blogs que usan NanoBlogger y este script mantiene el directorio '/latest/' apuntando a la ultima publicación en cada uno (www.linuxevolution.org/latest la versión en ingles de este sitio y orvtech.com/latest que seria la entrada mas reciente de este blog).

Recientemente tuve un montón de problemas con una aplicación web la cual fue modificada bajo MS Windows y tenia el formato MS-DOS. Encontré un montón de errores en los logs de cron el cual corría estos scripts de perl, para no darle largas a la historia, me toco encontrar todos estos scripts y modificarlos, como no fui yo quien subió los scripts al servidor no tenia ni idea de en que subdirectorio podían estar ni cuantos eran. Aquí esta el script que use para conseguir los archivos:

grep -IUl --color '^M' -R ./*

Este script generara una lista de archivos que están formateados como MS-DOS, fácilmente se podría hacer un 'for/while loop' y pasarlos por alguna aplicación como dos2unix.