# Limpieza Automática de Cachés de Nginx mediante Script Bash

- Link: https://binariocero.com/linux/limpieza-automatica-de-caches-de-nginx-mediante-script-bash
- Published: 2026-01-29T11:40:05+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

En entornos de servidores web con Nginx, la gestión de caches es un proceso crítico
para mantener el rendimiento y la consistencia del contenido servido. La acumulación
de archivos temporales puede provocar errores de visualización o consumo innecesario
de espacio en disco. Este artículo describe un **script Bash diseñado para limpiar
automáticamente los caches de Nginx** y reiniciar el servicio, optimizando así la
operación del servidor.

## Objetivo

 * Eliminar de manera segura los contenidos de las carpetas de cache de Nginx.
 * Reiniciar el servicio de Nginx para aplicar cambios.
 * Proporcionar un comando único (`limpiar_caches`) que se pueda ejecutar desde 
   cualquier ubicación del sistema sin necesidad de especificar rutas completas.

## Script Bash: `limpiar_caches`

A continuación se presenta el script con rutas de ejemplo:

    ```wp-block-code
    #!/bin/bash
    # Script para limpiar caches de Nginx y reiniciar el servicio

    # Definición de carpetas de cache
    caches=(
      "/var/cache/nginx/ejemplo1/*"
      "/var/cache/nginx/ejemplo2/*"
      "/var/cache/nginx/ejemplo3/*"
      "/var/cache/nginx/ejemplo4/*"
      "/var/cache/nginx/ejemplo5/*"
    )

    echo "Iniciando limpieza de caches de Nginx..."

    # Borrar contenido de cada carpeta
    for cache in "${caches[@]}"; do
      rm -rf $cache
    done

    echo "Caches eliminadas. Reiniciando Nginx..."

    # Reiniciar el servicio Nginx
    service nginx restart

    echo "Proceso completado: caches borradas y Nginx reiniciado."
    ```

## Explicación del Script

 1. **Definición de las rutas de cache** El script define un arreglo `caches` que contiene
    todas las rutas de los directorios de cache.
    Cada ruta termina en `/*` para asegurar
    que se borren todos los archivos y subdirectorios dentro de la carpeta, **sin eliminar
    la carpeta base**.
 2. **Borrado seguro de contenidos** Se recorre cada elemento del arreglo con un bucle`
    for` y se ejecuta `rm -rf $cache`.
 3.  * `rm` → elimina archivos y carpetas.
     * `-r` → recursivo, para eliminar subdirectorios.
     * `-f` → fuerza la eliminación sin pedir confirmación.
 4. **Reinicio de Nginx** Una vez eliminadas todas las caches, el script ejecuta: `
    service nginx restart` Esto asegura que Nginx cargue una nueva versión de las caches
    vacías y evita inconsistencias en el contenido servido.
 5. **Mensajes informativos** Se imprimen mensajes en la terminal para indicar el progreso
    y la finalización del proceso, lo cual ayuda a la monitorización manual.

## Instalación y Uso

 1. **Guardar el script** en `/usr/local/bin` con un nombre corto: 
    `sudo mv limpiar_caches.
    sh /usr/local/bin/limpiar_caches ``sudo chmod +x /usr/local/bin/limpiar_caches`
 2. **Ejecutar el comando** desde cualquier ubicación: 
    `sudo limpiar_caches`
 3. El script eliminará automáticamente todos los archivos de cache y reiniciará Nginx,
    sin necesidad de modificar rutas manualmente.

## Ventajas del Enfoque

 * **Centralización**: Todas las operaciones de limpieza se realizan desde un único
   script.
 * **Escalabilidad**: Se pueden agregar o quitar carpetas de cache modificando únicamente
   el arreglo `caches`.
 * **Simplicidad**: Un comando ejecutable desde cualquier lugar del sistema, sin
   necesidad de rutas completas.
 * **Seguridad**: No se elimina la carpeta base, solo su contenido, evitando errores
   de configuración.

## Conclusión

El script `limpiar_caches` representa una solución sencilla y eficiente para la 
gestión de caches en servidores Nginx. Automatiza la limpieza y el reinicio del 
servicio, reduciendo el riesgo de errores y optimizando el uso del espacio en disco.
Además, su diseño modular permite adaptarlo fácilmente a entornos con múltiples 
carpetas de cache, haciendo que sea una herramienta práctica para administradores
de sistemas.
