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

Joomla, al igual que todos los demás sistemas de gestión de contenidos (CMS) y muchas de sus extensiones, generan archivos temporales en el espacio web y en memoria caché para aumentar la eficiencia del sitio web. Estos archivos, si bien son de utilidad, pueden ser eliminados. Hay muchos archivos cada vez más grandes que se van generando y acumulando con el tiempo, creando 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, para respaldar información importante o mejorar el rendimiento, ya que después pierden su utilidad y únicamente ocupan recursos de almacenamiento en el servidor. Existen extensiones que te permiten eliminar este tipo de ficheros, definiendo rutas específicas para remover los contenidos de forma manual o automatizada. Un ejemplo es la extensión Cache Cleaner de Regular Labs. Sin embargo, esta extensión es paga. El método gratuito descripto en este artículo permite lograr lo mismo en servidores con interfaz cPanel por medio de cron jobs.

Identificar las rutas:

En primer lugar, tenemos 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.

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, deberás ir a la interfaz cPanel del servidor y localizar la sección de Cron Jobs:

En la sección «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 seleccionar:

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 seguros 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). De esta manera, 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/*

Hay que cambiar usuario por el usuario de cPanel correcto. La ruta de ejemplo corresponde a la comúnmente usada en servidores con 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.

Y recordá que si tenés dudas, podés contactarnos a soporte@baehost.com

Hasta la próxima!!

Deja una respuesta