12.14 Eliminación de noticias antiguas (Texpire)

Imagen de ElSanto

Cada cierto tiempo debemos limpiar nuestro disco duro para eliminar mensajes antiguos. Esto no significa que debamos entrar en el directorio news para comprobar qué mensajes están atrasados y eliminarlos, porque como ya se ha comentado, leafnode es un programa diseñado para automatizar todo este tipo de procesos. Para ello sólo tendremos que ejecutar el programa texpire (incluido con leafnode), que se encarga de recorrer todos los grupos de que dispongamos en nuestro disco duro y eliminar aquellos threads que sobrepasen sin actualizar el número de días indicado en el fichero de configuración de leafnode (en nuestro ejemplo indicamos 10 días). Al ejecutar texpire la salida suele ser algo parecido a lo siguiente (la aparición de varios grupos a los que no estamos suscritos es debido a que hay mensajes con crossposting, dirigidos a varios grupos):

[root@localhost root]# texpire
es.ciencia.electronica: 10 articles deleted, 182 kept
es.ciencia.misc: 21 articles deleted, 25 kept
es.comp.hackers: 1 articles deleted, 10 kept
es.comp.lenguajes.java: 10 articles deleted, 1 kept
es.comp.os.linux: 100 articles deleted, 690 kept
total: 142 articles deleted, 1012 kept

Realizando esto regularmente mantendremos nuestro disco duro sólo con los últimos mensajes deseados en lugar de ir llenándolo con la acumulación de mensajes antiguos. La cantidad de días a los que hayamos configurado texpire variará el nivel de limpieza de artículos viejos. Texpire es automáticamente ejecutado por "cron" (la parte de Linux que se encarga de ejecutar procesos a determinadas horas), pero para que cron tenga utilidad es necesario tener conectado el ordenador todo el dia (cron hace las cosas a unas determinadas horas), cosa que viene muy bien en las estaciones de trabajo pero que a nosotros no obliga a usar el "anacron" (no necesita tener el ordenador permanentemente conectado) o a hacerlo manualmente (la forma más sencilla, simplemente llamando a texpire cada 15 días, ejecutándolo en la línea de comandos del sistema).

Normalmente a texpire le costará cerca de un mes de uso empezar a borrar artículos, de modo que aunque inicialmente veamos que al llamarlo no borra los artículos antiguos, debemos dejarlo porque eso quiere decir que ninguno de los artículos ha expirado aún (o que hemos puesto un tiempo de expiración muy grande. Un tiempo razonable es 5 dias, pero eso depende fundamentalmente del tráfico del grupo en cuestión). Además texpire está basado en detectar TEMAS caducados (no artículos). Esto implica que un TEMA caduca cuando no se postee ningún mensaje sobre él (o respuesta) en el tiempo especificado, tras el cual será borrado. Estar basado en temas hace que se tarde más (inicialmente) en comenzar a borrar artículos viejos, pero que a partir de la primera expiración de artículos el proceso sea contínuo y eficiente.

Por Internet es posible encontrar también un programa en PERL llamado texpire.pl el cual hace un borrado artículo por artículo (no basado en cuando un TEMA caduca sino en cuando un ARTICULO caduca) que también puede utilizarse para este fin. No obstante el uso de texpire es más adecuado ya que viene integrado con leafnode y su funcionamiento es excelente.