Compartir artículo

Jueves, 31 Mayo 2018 01:32

Cómo automatizar la eliminación de archivos temporales y caché en Joomla

Escrito por

Joomla, al igual que todos los demás sistemas de gestión de contenidos, y muchas de sus extensiones generan archivos temporales y  en memoria caché para aumentar la eficiencia del sitio web entre otros beneficios. Estos archivos, si bien son de utilidad, pueden ser eliminados ya que, si fueran necesarios, unos nuevos se generarían automáticamente. Por otro lado, hay muchos archivos de este tipo que se van generando y acumulando con el tiempo generando unas, cada vez más grandes, carpetas de archivos temporales y caché, en muchos casos innecesarios. 

Lo mismo sucede con las extensiones que generan archivos temporales para cumplir alguna función específica, respaldar información importante o mejorar el rendimiento y después pierden su utilidad por lo que únicamente están ocupando parte del recurso de almacenamiento en el servidor. Existen extensiones que permiten eliminar este tipo de ficheros, definiendo rutas específicas para remover los contenidos ya sea de forma manual o automatizada. Un ejemplo es la extensión Cache Cleaner de Regular Labs. Sin embargo, esta extensión es de pago y el método gratuito descrito en este artículo permite lograr lo mismo en servidores con interfaz cPanel por medio de cron jobs.

Identificar las rutas

En primer lugar, hay que identificar las carpetas de archivos temporales y caché. En muchos casos depende de la extensión pero hay carpetas predeterminadas que son utilizadas para almacenarlos:

  • tmp: carpeta predeterminada de archivos temporales en Joomla. Algunas extensiones, como Admin Tools de Akeeba, ofrecen un botón para eliminar los contenidos manualmente.
  • cache: carpeta predeterminada de archivos en memoria caché. Múltiples extensiones gratuitas permiten eliminar los contenidos manualmente pero no de forma automatizada.
  • administrator/cache: archivos en memoria caché para interfaz de administración de Joomla. 

En otros casos, las extensiones crean rutas específicas como por ejemplo 

  • images/jch_optimize_backup_images: donde se almacenan copias de todas las imágenes optimizadas utilizando JCH Optimize
  • media/plg_jchoptimize/cache: hojas de estilo y otros archivos optimizados por JCH Optimize al cargar las páginas del sitio web. 
  • images/.tmb: carpeta con vistas en miniatura del todas las imágenes cargadas utilizando el gestor multimedia de K2. 

Y muchos ejemplos más. Corresponde a cada usuario investigar las rutas de archivos caché y temporales que pueden ser eliminados para cada extensión instalada. 

Eliminación automática

Para crear una acción que elimine automáticamente el contenido de este tipo de carpetas hay que ir a la interfaz cPanel del servidor y ubicar la sección de Cron Jobs:

En la sección de añadir un nuevo Cron Job, primero hay que elegir un intervalo de ejecución de la tarea y para esto hay una lista de parámetros comunes entre los cuales elegir:

Al elegir alguna de las opciones, por ejemplo los días 1 y 15 de cada mes, la configuración específica cambiará en la sección de abajo:

Finalmente en la sección de Comando, hay que escribir el comando para eliminar el contenidos de las carpetas de las siguiente forma:

Es importante estar seguro de la ubicación a eliminar ya que todos los contenidos de la carpeta van a ser removidos de forma permanente al ser ejecutado el comando. También es relevante destacar que el comando debe escribirse tal y como aparece en el ejemplo (incluyendo asterisco al final). Así, se eliminarán todos los contenidos incluyendo subcarpetas pero no la carpeta principal. Por ejemplo, el comando para eliminar los contenidos de la carpeta temporal es:

rm -rf /home/usuario/public_html/tmp/*

Por supuesto que hay que cambiar usuario por el usuario de cPanel correcto. La ruta de ejemplo corresponde a la usual en servidores cPanel pero cada usuario puede cambiar la ruta de acuerdo a cada caso específico. 

Con este proceso, se realiza un mantenimiento automatizado en lo que respecta a la generación de archivos temporales y basura en los sitios Joomla. De esta forma, se evita la acumulación de grandes cantidades de archivos innecesarios especialmente en sitios que no son regularmente mantenidos por los administradores. Si tienes alguna duda sobre el proceso explicado anteriormente, no dudes en compartirla por medio de los comentarios. 

 

Leído 576 veces
Emanuel Rodríguez

Soy fanático de Joomla!, Linux y el software libre en general (aunque a veces publico artículos sobre Windows). Parte de mi tiempo libre lo dedico a escribir. Soy profesional en imágenes médicas. 

Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.