# Súper Comandos

Comandos aplicables únicamente en un Súper Ordenador.

# 💻 Súper Ordenador

El **Súper Ordenador** es un equipo central de la empresa diseñado para **realizar tareas automáticas y continuas**.  
Está **programado en entorno Linux**, lo que le otorga **estabilidad, seguridad y eficiencia** en la ejecución de procesos.

##### -------------------------------------------------------------------------------------------------

##### **⚙️ Funcionamiento continuo**

El Súper Ordenador <span style="text-decoration: underline;">**permanece encendido las 24 horas del día, los 7 días de la semana**</span>, sin interrupciones.  
Esto permite que todos los **procesos y servicios** de la empresa se mantengan **activos y disponibles** en todo momento.

Su **función principal** es **ejecutar tareas pre-programadas**, que se realizan automáticamente sin necesidad de intervención manual.

##### -------------------------------------------------------------------------------------------------

##### **🖥️ Equipos recomendados**

Un **buen ejemplo de ordenador para transformar en Súper Ordenador** son los <span style="text-decoration: underline;">**ordenadores de guardias**</span>, ya que suelen permanecer encendidos de forma continua y pueden aprovechar ese tiempo para ejecutar tareas automáticas en segundo plano.

##### -------------------------------------------------------------------------------------------------

##### **🌐 Acciones globales en todos los subdominios**

El Súper Ordenador puede **ejecutar scripts que actúan simultáneamente en todos los subdominios** de la empresa.  
Esto permite realizar acciones coordinadas como:

- ⏰ **Actualizar la hora** en todos los sistemas al mismo tiempo.
- 💾 **Hacer respaldos automáticos** del contenido de cada subdominio.
- 🎵 **Cambiar el canal del hilo musical** en todos los espacios conectados.

##### -------------------------------------------------------------------------------------------------

##### **💡 Ejemplo práctico**

Un uso común es **borrar la caché cada hora**, para asegurar que los contenidos del sistema se mantengan **actualizados y visibles** para todos los usuarios. De esta manera, el Súper Ordenador garantiza un funcionamiento fluido y sin acumulación de datos temporales.

##### ------------------------------------------------------------------------------------------------

##### **🧩 Cómo crear un Súper Ordenador**

Para **convertir un ordenador en un <span style="text-decoration: underline;">Súper Ordenador</span>**, es necesario:

1. 📂 **Añadir las carpetas** indicadas en las páginas correspondientes de este manual.
2. 📝 **Instalar los scripts** necesarios para la automatización de tareas.
3. 🔄 **Verificar la ejecución continua**, asegurando que el sistema pueda mantenerse encendido sin interrupciones.

Estos pasos permiten que el equipo adquiera todas las **capacidades de automatización y operación continua** propias de un Súper Ordenador.

# 🧩 Cambio de Hora

El script `timeChange.sh` es un gestor de cambios horarios y respaldos para varios subdominios de la plataforma. Ejecuta de forma automatizada las URL de los scripts PHP correspondientes a cada tienda para cambiar la hora, hacer respaldos o restaurarlos.

<span style="text-decoration: underline;">Debe ir en un [Súper Ordenador](https://documentacion.comunicacionvisualcanarias.com/books/mesh-central-cvc-control-remoto/page/super-ordenador "💻 Súper Ordenador").</span>

Funciona para los domingos de cambio horario, si no abre la tienda o cliente el domingo, lo ejecuta el siguiente día disponible.

Espera 72 Horas si se ejecuta un viernes para que la restauración de horarios no se haga antes del propio cambio.

\----------------------------------------------------------------------------------------------------------------------------------------------

<p class="callout warning">**Canales Corporativos Compatibles:**</p>

- **Comunicación Visual Canarias: Panel**
- **Spar Gran Canaria**
- **Frigo Martel**
- **Pizza Royers**
- **Cash Converters**

\----------------------------------------------------------------------------------------------------------------------------------------------

<p class="callout info">**Ejecución en terminal del Súper Ordenador:**</p>

**MODO VERANO**

> nohup bash /home/cvc/timeChange/timeChange.sh verano &gt;&gt; /home/cvc/timeChange/timeChange.out 2&gt;&amp;1 &amp;

- <span style="color: rgb(52, 73, 94);">Ejecutar el <span style="text-decoration: underline;">**viernes**</span> previo al sábado y domingo de cambio horario. </span>
- <span style="color: rgb(52, 73, 94);">Si el domingo de cambio horario el equipo no tiene encendido, salta al siguiente día disponible.</span>
- <span style="color: rgb(52, 73, 94);">72 Horas después restablecerá los horarios. </span>
- <span style="color: rgb(132, 63, 161);">\[Guardar Respaldo -&gt; 10 Segundos -&gt; Sumar una hora apertura del domingo -&gt; 72 Horas -&gt; Cargar Respaldo\]</span>

**MODO INVIERNO**

> nohup bash /home/cvc/timeChange/timeChange.sh invierno &gt;&gt; /home/cvc/timeChange/timeChange.out 2&gt;&amp;1 &amp;

- <span style="color: rgb(52, 73, 94);">Ejecutar el <span style="text-decoration: underline;">**viernes**</span> previo al sábado y domingo de cambio horario. </span>
- <span style="color: rgb(52, 73, 94);">Si el domingo de cambio horario el equipo no tiene encendido, salta al siguiente día disponible.</span>
- <span style="color: rgb(52, 73, 94);">72 Horas después restablecerá los horarios.</span>
- <span style="color: rgb(132, 63, 161);">\[Guardar Respaldo -&gt; 10 Segundos -&gt; Restar una hora apertura del domingo -&gt; 72 Horas -&gt; Cargar Respaldo\]</span>

**REGISTRO DE EJECUCIÓN**

> tail -f /home/cvc/timeChange/timeChange.log

- <span style="color: rgb(52, 73, 94);">Revisa la fecha y hora de ejecución de cualquier modo del script.</span>

**GUARDAR RESPALDO DE HORARIOS**

> bash /home/cvc/timeChange/timeChange.sh guardar

- <span style="color: rgb(52, 73, 94);">Guarda un respaldo de los horarios de todos los clientes y subdominios.</span>

**CARGAR RESPALDO DE HORARIOS**

> bash /home/cvc/timeChange/timeChange.sh cargar

- <span style="color: rgb(52, 73, 94);">Carga el respaldo de los horarios de todos los clientes y subdominios.</span>

**SUMAR UNA HORA A TODOS LOS CLIENTES**

> bash /home/cvc/timeChange/timeChange.sh +1

- <span style="color: rgb(52, 73, 94);">Suma una hora a las apertura en los horarios de todos los clientes y subdominios en los domingos y posteriores de cambio horario.</span>

**RESTAR UNA HORA A TODOS LOS CLIENTES**

> bash /home/cvc/timeChange/timeChange.sh -1

- <span style="color: rgb(52, 73, 94);">Resta una hora a las apertura en los horarios de todos los clientes y subdominios en los domingos y posteriores de cambio horario.</span>

**MODO TEST**

> nohup bash /home/cvc/timeChange/timeChange.sh test &gt;&gt; /home/cvc/timeChange/timeChange.out 2&gt;&amp;1 &amp;

- <span style="color: rgb(52, 73, 94);">Modo test no hace ningún cambio en la base de datos ni en los canales corporativos.</span>
- <span style="color: rgb(52, 73, 94);">72 Horas después debe confirmar nueva ejecución. </span>
- <span style="color: rgb(52, 73, 94);">Su función principal es ver si el script se mantiene activo hasta pasadas las horas previstas para comprobar si los modos funcionarían adecuadamente.</span>

\----------------------------------------------------------------------------------------------------------------------------------------------

<p class="callout danger">Requisitos obligatorios:</p>

- Carpeta llamada "timeChange" dentro de "home - &gt; cvc"
- Dentro de la carpeta, el script que se llamará "timeChange" con formato .sh

> \#!/bin/bash  
> \# ============================================================  
> \# Script: timeChange.sh  
> \# Descripción: Ejecuta backups, cambio horario (verano/invierno)  
> \# restore, modos de prueba y cambios directos (+1/-1)  
> \# ============================================================
> 
> LOG\_FILE="/home/cvc/timeChange/timeChange.log"  
> WAIT\_BETWEEN\_PHASES=10 # segundos de espera entre fases  
> REVERSE\_HOURS=72 # horas hasta restore / job diferido  
> DATE\_NOW=$(date '+%Y-%m-%d %H:%M:%S')
> 
> \# Limpiar log en cada ejecución directa (no cuando viene de at)  
> if \[\[ "$1" != "cargar" &amp;&amp; "$1" != "test\_scheduled" \]\]; then  
>  echo "==============================" &gt; "$LOG\_FILE"  
>  echo "🕓 Inicio de ejecución — $DATE\_NOW" &gt;&gt; "$LOG\_FILE"  
>  echo "==============================" &gt;&gt; "$LOG\_FILE"  
> fi
> 
> \# URLs de tiendas  
> URLS\_BACKUP=(   
> "https://panel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=backup"  
> "https://spar.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=backup"  
> "https://frigomartel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=backup"  
> "https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=backup"  
> "https://cashconverters.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=backup"  
> )
> 
> URLS\_RESTORE=(  
> "https://panel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=restore"  
> "https://spar.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=restore"  
> "https://frigomartel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=restore"  
> "https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=restore"  
> "https://cashconverters.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=restore"  
> )
> 
> URLS\_SUMMER=(  
> "https://panel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=summer"  
> "https://spar.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=summer"  
> "https://frigomartel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=summer"  
> "https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=summer"  
> "https://cashconverters.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=summer"  
> )
> 
> URLS\_WINTER=(  
> "https://panel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=winter"  
> "https://spar.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=winter"  
> "https://frigomartel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=winter"  
> "https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=winter"  
> "https://cashconverters.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=winter"  
> )
> 
> URLS\_TEST=(  
> "https://panel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=test"  
> "https://spar.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=test"  
> "https://frigomartel.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=test"  
> "https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=test"  
> "https://cashconverters.comunicacionvisualcanarias.com/\_scripts/cambioHora.php?action=test"  
> )
> 
> \# Funciones  
> log() {  
>  echo "\[$(date '+%Y-%m-%d %H:%M:%S')\] $1" | tee -a "$LOG\_FILE"  
> }
> 
> execute\_urls() {  
>  local urls=("$@")  
>  for url in "${urls\[@\]}"; do  
>  curl -s "$url" &gt;/dev/null 2&gt;&amp;1 &amp;  
>  done  
>  wait  
> }
> 
> finish\_log() {  
>  log "✅ Finalización completa — $(date '+%Y-%m-%d %H:%M:%S')"  
>  echo "------------------------------" &gt;&gt; "$LOG\_FILE"  
> }
> 
> \# ============================================================  
> \# EJECUCIÓN SEGÚN ARGUMENTO  
> \# ============================================================
> 
> if \[ -z "$1" \]; then  
>  log "❌ Uso: $0 \[verano|invierno|guardar|cargar|+1|-1|test\]"  
>  exit 1  
> fi
> 
> ACTION=$1
> 
> \# -------------------------------  
> \# SOLO BACKUP  
> \# -------------------------------  
> if \[ "$ACTION" == "guardar" \]; then  
>  log "📦 Ejecutando solo BACKUP..."  
>  execute\_urls "${URLS\_BACKUP\[@\]}"  
>  log "✅ BACKUP completado."  
>  finish\_log  
>  exit 0  
> fi
> 
> \# -------------------------------  
> \# SOLO RESTORE  
> \# -------------------------------  
> if \[ "$ACTION" == "cargar" \]; then  
>  log "♻️ Ejecutando solo RESTORE..."  
>  execute\_urls "${URLS\_RESTORE\[@\]}"  
>  log "✅ RESTORE completado."  
>  finish\_log  
>  exit 0  
> fi
> 
> \# -------------------------------  
> \# CAMBIO DIRECTO +1 / -1  
> \# -------------------------------  
> if \[ "$ACTION" == "+1" \]; then  
>  log "🌞 Ejecutando cambio horario +1..."  
>  execute\_urls "${URLS\_SUMMER\[@\]}"  
>  log "✅ Cambio horario +1 completado."  
>  finish\_log  
>  exit 0  
> fi
> 
> if \[ "$ACTION" == "-1" \]; then  
>  log "❄️ Ejecutando cambio horario -1..."  
>  execute\_urls "${URLS\_WINTER\[@\]}"  
>  log "✅ Cambio horario -1 completado."  
>  finish\_log  
>  exit 0  
> fi
> 
> \# -------------------------------  
> \# MODO TEST — programación con 72 horas  
> \# -------------------------------  
> if \[ "$ACTION" == "test" \]; then  
>  log "🧪 Ejecutando modo TEST..."  
>  execute\_urls "${URLS\_TEST\[@\]}"  
>  log "✅ URLs de test ejecutadas ahora."
> 
>  log "⏳ Programando ejecución diferida con at dentro de $REVERSE\_HOURS horas..."  
>  TEST\_COMMAND="bash /home/cvc/timeChange/timeChange.sh test\_scheduled &gt;&gt; /home/cvc/timeChange/timeChange.log 2&gt;&amp;1"  
>  echo "$TEST\_COMMAND" | at now + $REVERSE\_HOURS hours  
>  log "📅 Comando programado con 'at' para reejecutar test."  
>  finish\_log  
>  exit 0  
> fi
> 
> \# -------------------------------  
> \# MODO TEST PROGRAMADO AUTOMÁTICO  
> \# -------------------------------  
> if \[ "$ACTION" == "test\_scheduled" \]; then  
>  log "🚀 Ejecución iniciada automáticamente por 'at'"  
>  log "🔁 Ejecución programada del modo TEST..."  
>  execute\_urls "${URLS\_TEST\[@\]}"  
>  log "✅ URLs de test ejecutadas (programadas)."  
>  finish\_log  
>  exit 0  
> fi
> 
> \# -------------------------------  
> \# CAMBIO HORARIO COMPLETO (verano/invierno)  
> \# -------------------------------  
> if \[\[ "$ACTION" == "verano" || "$ACTION" == "invierno" \]\]; then  
>  log "📦 Iniciando BACKUP (todas las tiendas)..."  
>  execute\_urls "${URLS\_BACKUP\[@\]}"  
>  log "✅ BACKUP completado."  
>  sleep $WAIT\_BETWEEN\_PHASES
> 
>  if \[ "$ACTION" == "verano" \]; then  
>  log "🌞 Ejecutando CAMBIO HORARIO VERANO..."  
>  execute\_urls "${URLS\_SUMMER\[@\]}"  
>  else  
>  log "❄️ Ejecutando CAMBIO HORARIO INVIERNO..."  
>  execute\_urls "${URLS\_WINTER\[@\]}"  
>  fi  
>  log "✅ Cambio horario completado."
> 
>  log "⏳ Programando RESTORE dentro de $REVERSE\_HOURS horas..."  
>  RESTORE\_COMMAND="bash /home/cvc/timeChange/timeChange.sh cargar &gt;&gt; /home/cvc/timeChange/timeChange.log 2&gt;&amp;1"  
>  echo "$RESTORE\_COMMAND" | at now + $REVERSE\_HOURS hours
> 
>  log "🏁 Proceso completo programado. Revisa log para seguimiento."  
>  finish\_log  
>  exit 0  
> fi

# 🧩 Gestor de Contenidos

El script `actualizarLista.php` se centra en guardar, cargar y modificar la posición de los contenidos multimedia del los clientes. También puede borrar la caché para asegurar la visualización de los contenidos programados a futuro. Contiene diversos modos de función explicados más adelante con su específica url de ejecución.

Existen dos variantes:

- ***Panel*** `actualizarLista.php`:
- Ejecuta los modos en el resto de subdominios al mismo tiempo.
- --------------------------------------------------------------------------------------
- ***Spar / Frigo Martel / Pizza Royers / Cash Converters*** `actualizarLista.php`:
- Ejecuta los modos en su respectivo subdominio.

\----------------------------------------------------------------------------------------------------------------------------------------------

<p class="callout warning">**Canales Corporativos Compatibles:**</p>

- **Spar Gran Canaria**
- **Frigo Martel**
- **Pizza Royers**
- **Cash Converters**

\----------------------------------------------------------------------------------------------------------------------------------------------

<p class="callout success">**Ejecución en Cualquier Equipo:**</p>

**MODO RESPALDO**

> <span style="text-decoration: underline;">**Respaldo General: Todos los Clientes** </span>**[https://panel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=backup](https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup)**
> 
> <span style="text-decoration: underline;">**Respaldo: Spar Gran Canaria**</span>  
> [https://spar.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=backup](https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup)
> 
> <span style="text-decoration: underline;">**Respaldo: Frigo Martel**</span>  
> [https://frigomartel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=backup](https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup)
> 
> <span style="text-decoration: underline;">**Respaldo: Pizza Royers**</span>  
> [https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=backup](https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup)
> 
> <span style="text-decoration: underline;">**Respaldo: Cash Converters**</span>  
> [https://cashconverters.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=backup](https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup)

- <span style="color: rgb(52, 73, 94);">Guarda un respaldo de los contenidos de todos los clientes en sus respectivos subdominios.</span>

**MODO RESTAURACIÓN**

> <span style="text-decoration: underline;">**Restauración General: Todos los Clientes** </span>**[https://panel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=restore](https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore)**
> 
> <span style="text-decoration: underline;">**Restauración: Spar Gran Canaria**</span>  
> [https://spar.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=restore](https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore)
> 
> <span style="text-decoration: underline;">**Restauración: Frigo Martel**</span>  
> [https://frigomartel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=restore](https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore)
> 
> <span style="text-decoration: underline;">**Restauración: Pizza Royers**</span>  
> [https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=restore](https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore)
> 
> <span style="text-decoration: underline;">**Restauración: Cash Converters**</span>  
> [https://cashconverters.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=restore](https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore)

- <span style="color: rgb(52, 73, 94);">Carga el respaldo disponible de los contenidos de todos los clientes en sus respectivos subdominios.</span>

**MODO PERMUTACIÓN**

> <span style="text-decoration: underline;">**Permutación General: Todos los Clientes** </span>**[https://panel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=permutation](https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation)**
> 
> <span style="text-decoration: underline;">**Permutación: Spar Gran Canaria**</span>  
> [https://spar.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=permutation](https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation)
> 
> <span style="text-decoration: underline;">**Permutación: Frigo Martel**</span>  
> [https://frigomartel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=permutation](https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation)
> 
> <span style="text-decoration: underline;">**Permutación: Pizza Royers**</span>  
> [https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=permutation](https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation)
> 
> <span style="text-decoration: underline;">**Permutación: Cash Converters**</span>  
> [https://cashconverters.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=permutation](https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation)

- <span style="color: rgb(52, 73, 94);">Mueve un espacio de los contenidos en la lista de reproducción en todos los clientes en sus respectivos subdominios.</span>

**MODO AJUSTE**

> <span style="text-decoration: underline;">**Ajuste General: Todos los Clientes** </span>**[https://panel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=adjust](https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust)**
> 
> <span style="text-decoration: underline;">**Ajuste: Spar Gran Canaria**</span>  
> [https://spar.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=adjust](https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust)
> 
> <span style="text-decoration: underline;">**Ajuste: Frigo Martel**</span>  
> [https://frigomartel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=adjust](https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust)
> 
> <span style="text-decoration: underline;">**Ajuste: Pizza Royers**</span>  
> [https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=adjust](https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust)
> 
> <span style="text-decoration: underline;">**Ajuste: Cash Converters**</span>  
> [https://cashconverters.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=adjust](https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust)

- <span style="color: rgb(52, 73, 94);">Retrocede un espacio de los contenidos en la lista de reproducción en todos los clientes en sus respectivos subdominios.</span>

**MODO ACTUALIZAR CACHÉ**

> <span style="text-decoration: underline;">**Actualizar Caché General: Todos los Clientes** </span>**[https://panel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=update](https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update)**
> 
> <span style="text-decoration: underline;">**Actualizar Caché: Spar Gran Canaria**</span>  
> [https://spar.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=update](https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update)
> 
> <span style="text-decoration: underline;">**Actualizar Caché: Frigo Martel**</span>  
> [https://frigomartel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=update](https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update)
> 
> <span style="text-decoration: underline;">**Actualizar Caché: Pizza Royers**</span>  
> [https://pizzaroyers.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=update](https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update)
> 
> <span style="text-decoration: underline;">**Actualizar Caché: Cash Converters**</span>  
> [https://cashconverters.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=update](https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update)  
>   
> <span style="text-decoration: underline;">**Actualizar Caché: Hilo Musical**</span>  
> [https://hilomusical.comunicacionvisualcanarias.com/\_scripts/borrarCache.php?action=all](https://hilomusical.comunicacionvisualcanarias.com/_scripts/borrarCache.php?action=all)

- <span style="color: rgb(52, 73, 94);">Borra la caché de todos los contenidos en todos los clientes en sus respectivos subdominios.</span>

\------------------------------------------------------------------------------------------------------------------------------------

<p class="callout danger">Requisitos obligatorios:</p>

- *<span style="text-decoration: underline;">Ejecución Manual:</span>* Tener un buscador actualizado (Firefox, Google Chrome, Microsoft Edge...)
- *<span style="text-decoration: underline;">Ejecución Automática:</span>* 1.- Carpeta llamada "EditList" dentro de "home - &gt; cvc" en un [Súper Ordenador](https://documentacion.comunicacionvisualcanarias.com/books/mesh-central-cvc-control-remoto/page/super-ordenador "💻 Súper Ordenador").
- *<span style="text-decoration: underline;">Ejecución Automática:</span>* 2.- Dentro de la carpeta, el script que se llamará "EditList" con formato .sh

> \#!/bin/bash
> 
> \# Script para ejecutar varias URLs de actualización de playlists simultáneamente  
> \# Log: /home/cvc/EditList/EditList.log
> 
> LOG\_FILE="/home/cvc/EditList/EditList.log"
> 
> \# Mostrar hora de inicio  
> echo "----------------------------------------" | tee -a "$LOG\_FILE"  
> echo "🕒 Ejecución iniciada: $(date '+%Y-%m-%d %H:%M:%S')" | tee -a "$LOG\_FILE"
> 
> URLS=(  
>  "https://panel.comunicacionvisualcanarias.com/\_scripts/actualizarLista.php?action=update"  
> )
> 
> \# Función para ejecutar cada URL  
> procesar\_url() {  
>  local URL="$1"  
>  local HTTP\_CODE  
>  HTTP\_CODE=$(curl -s -o /dev/null -w "%{http\_code}" "$URL")
> 
>  if \[ "$HTTP\_CODE" -eq 200 \]; then  
>  echo "✅ URL procesada correctamente: $URL" | tee -a "$LOG\_FILE"  
>  else  
>  echo "❌ Error al procesar URL. Código HTTP: $HTTP\_CODE : $URL" | tee -a "$LOG\_FILE"  
>  fi  
> }
> 
> \# Ejecutar todas las URLs simultáneamente  
> for URL in "${URLS\[@\]}"; do  
>  procesar\_url "$URL" &amp;  
> done
> 
> \# Esperar a que todas terminen  
> wait
> 
> \# Mostrar hora de finalización  
> echo "✅ Ejecución finalizada: $(date '+%Y-%m-%d %H:%M:%S')" | tee -a "$LOG\_FILE"  
> echo "" | tee -a "$LOG\_FILE"