Mesh Central | CVC: Control Remoto

Renovar Certificado

Este apartado tiene como finalidad describir el procedimiento para la actualización del Certificado DNS del servidor asociado a la plataforma Mesh Central, utilizada para la monitorización y gestión remota de los equipos de los clientes.

Esta actualización es un proceso esencial para garantizar la seguridad, integridad y disponibilidad de las comunicaciones entre el servidor y los dispositivos gestionados, asegurando que dichas conexiones se establezcan mediante un certificado digital válido y actualizado. De no actualizarse, no tendríamos acceso al control remoto.

A continuación, se detallan de manera estructurada los pasos que deben seguirse para llevar a cabo correctamente la actualización del certificado.

----------------------------------------------------------------------------------------------------------------------------------------------

1.- SERVIDOR EN PLESK: CONFIGURACIÓN

  1. Servidor PLESK
  2. Websites & Domains
  3. comunicacionvisualcanarias.com
  4. SSl/TLS
  5. Reissue Certificate
  6. Install a free bassic
  7. Get it free
  8. Copiar RECORD
  9. No tocar CONTINUE
  10. No cerramos la pestaña.

2.- SERVIDOR EN ARSYS

  1. Pestaña Nueva
  2. Web de Arsys.es
  3. Área de cliente
  4. Usuario + Contraseña de Arsys
  5. Dominio -> CVC -> Panel de control -> Entradas DNS
  6. "_acme-challenge.comunicacionvisualcanarias.com"
  7. Modificar (Pegar RECORD en "Valor")

3.- SERVIDOR EN PLESK: CONFIGURACIÓN

  1. Pestaña Anterior
  2. Pulsar CONTINUE
  3. Servidor PLESK -> Websites & Domains -> CVC -> Hosting & DNS -> Hosting -> Hosting type -> Prefered domain
  4. Prefered domain -> comunicacionvisualcanarias.com (sin www)

4.- SERVIDOR EN PLESK: LLAVES

  1. Servidor PLESK -> Websites & Domains -> CVC -> SSl/TLS -> Advanced Settings (Arriba)
  2. Lets Encrypt Comunicaciónvisualcanarias.com (3ª opción)
  3. [NO CONFUNDIR CON *.comunicacionvisualcanarias.com]
  4. Dejamos la pestaña abierta para poder copiar las llaves en el siguiente paso.

5.- TERMINAL DE WINDOWS

Abrir Terminal de Windows (Win+R -> cmd -> [Enter])

Acceder al Servidor desde el Terminal

ssh root@comunicacionvisualcanarias.com

CVC650zor.

Private key (*.key)

nano /opt/meshcentral/meshcentral-data/webserver-cert-private.key

  1. Pegamos el comando indicado con Clic Derecho en el Terminal y pulsamos [Enter].
  2. [Copiar] Private key (*.key) de la pestaña de PLESK
  3. Borrar contenido de Private Key en CMD (Ctrl+K)
  4. Pegar texto con Clic Derecho -> Ctrl+X -> [Y] -> [Enter].

Certificate (*.crt)

[NO CONFUNDIR CON "CA certificate (*-ca.crt)"]

nano /opt/meshcentral/meshcentral-data/webserver-cert-public.crt

  1. Pegamos el comando indicado con Clic Derecho en el Terminal y pulsamos [Enter].
  2. [Copiar] Certificate (*.crt) de la pestaña de PLESK
  3. Borrar contenido de Certificate en CMD (Ctrl+K)
  4. Pegar texto con Clic Derecho -> Ctrl+X -> [Y] -> [Enter].

Actualización del Sistema

systemctl restart meshcentral.service

Atajos de teclado

-. MODOS .-

Alt + 1:  Modo Canal Corporativo + Hilo Musical

Alt + 2: Modo Tótem

Alt + 3: Modo Buscador Google

Alt + 4: Modo Guardias Farmacia

----

-. AJUSTES .-

Alt + K: Escritorio

Alt + C: Opciones

Alt + E: Carpetas

----

-. OPCIONES .-

Cliente: Elegir si es un equipo de CVC, SPAR, FRIGO MARTEL...

Red: Configurar la IP del equipo.

Pantalla: Configurar la resolución de la pantalla.

Sonido: Configurar la salida de audio (amplificador, pantalla...)

Aplicación: Elegir en que modo comienza el equipo.

Comandos

En este apartado revisaremos los comandos compatibles con la aplicación.

Para ejecutar los comandos en un equipo, debemos acceder al terminal pulsando Alt+T o seleccionando en el control remoto CVC  el apartado Terminal.

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

IP-Router | Obtener la dirección IP o Puerta de Enlace del equipo

ip -c a

Este comando nos entrega la dirección ip tras la denominación inet en el apartado 2. enp2s0.

ip -c route

Este comando nos entrega la puerta de enlace tras la denominación default via.

----------------------------------------------------------------------------------------------------------------------------------------------

Como comprobar las direcciones IP disponibles

sudo apt install arp-scan

Este comando nos instala arp-scan, un programa que nos permite escanear las ip de la conexión a la que esté conectada nuestro equipo.

Este comando nos entrega el nombre del terminal de red, como por ejemplo enp2s0 o enp3s0. Sabremos cual es la correcta por que nos aparecerá UP en codel state.

#!/bin/bash

X=1
Rank_Down=231
Rank_Up=240
iface="enp1s0"
local_ip=$(hostname -I | awk '{print $1}')

for ip in $(seq $Rank_Down $Rank_Up); do
    ipaddr="192.168.$X.$ip"
    if [ "$ipaddr" != "$local_ip" ]; then
        output=$(sudo arp-scan --interface=$iface $ipaddr | grep "$ipaddr")
        if [ -z "$output" ]; then
            echo "$ipaddr está libre"
        fi
    fi
done

Se nos mostrará en el terminal las direcciones IP disponibles dentro del rango especificado. Solo hay que revisar las variables dependiendo del establecimiento.

----------------------------------------------------------------------------------------------------------------------------------------------

AMIXER | Saber si el cable mini-jack está conectado al equipo

amixer contents

Este comando nos información en la que podemos encontrar:

----------------------------------------------------------------------------------------------------------------------------------------------

SYNC | Sincronizar contenidos

sync

Este comando permite sincronizar directamente los contenidos saltando los 2 minutos de espera para la sincronización automática.

----------------------------------------------------------------------------------------------------------------------------------------------

CONFIGURACIÓN: DATOS EQUIPO | ID, descargas activas, etc...

cat system.cfg

Este comando permite ver la configuración base del equipo.

----------------------------------------------------------------------------------------------------------------------------------------------

REGISTRO: DATOS EQUIPO | Contenidos y horario

less /home/cvc/deploy/deploy.json

Este comando permite ver los contenidos internos por ID y el horario que tiene registrado el equipo.

----------------------------------------------------------------------------------------------------------------------------------------------

REGISTRO: EMISIÓN | Que se vé y que se vió o escuchó

less /home/cvc/logs/apps/canal.app.log

Este comando permite ver a que hora se emitió cada contenido, música y evento organizado por fecha y hora.

----------------------------------------------------------------------------------------------------------------------------------------------

REGISTRO: EMISIÓN 5 CANCIONES | Cinco últimas canciones que se reprodujeron con fecha y hora.

{ tac /home/cvc/logs/apps/canal.app.log 2>/dev/null | grep "MUSIC;PLAY;" 2>/dev/null | head -n 5; } 2>/dev/null

Este comando permite ver las cinco últimas canciones que se reprodujeron con fecha y hora.

----------------------------------------------------------------------------------------------------------------------------------------------

REGISTRO: EMISIÓN DE EVENTOS | Rango de una semana desde el día que se ejecuta el comando.

grep -aE "$(for i in {0..6}; do date -d "$i days ago" '+%-d/%-m/%Y'; done | paste -sd '|' -)" /home/cvc/logs/apps/canal.app.log | grep -a "MEDIA_EVENT"

----------------------------------------------------------------------------------------------------------------------------------------------

REGISTRO: DESCARGAS | Cantidad de elementos descargados dentro del equipo

cd /home/cvc/CARPETA/files  | wc -l

>Nota: CARPETA se sustituye por _contenidos o _musica depeniendo de las necesidades.

Este comando permite sincronizar directamente los contenidos saltando los 2 minutos de espera para la sincronización automática.

----------------------------------------------------------------------------------------------------------------------------------------------

XRANDR | Resolución de pantallas

xrandr

Este comando permite detectar si existe un extensor conectado y encendido.                                                                                     Permite cambiar la resolucion que se transmite a la pantalla.

Para asignar una resolución escribimos lo siguiente utilizando 1280x720px como ejemplo:

xrandr -s (1280x720)

Para cambiar los HZ de la resolución escribimos lo siguiente utilizando 50HZ como ejemplo:

xrandr --rate (50)

----------------------------------------------------------------------------------------------------------------------------------------------

PULSE AUDIO | Control de volumen

alsamixer

----------------------------------------------------------------------------------------------------------------------------------------------

MOSTRAR USB | Mostrar conexiones USB

lsusb

----------------------------------------------------------------------------------------------------------------------------------------------

RESOLV | Cambiar DNS

sudo nano /etc/resolv.conf

ctrl+x para guardar y salir

Súper Comandos

Comandos aplicables únicamente en un Súper Ordenador.

Súper Comandos

💻 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 permanece encendido las 24 horas del día, los 7 días de la semana, 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 ordenadores de guardias, 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:

-------------------------------------------------------------------------------------------------
💡 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 Súper Ordenador, 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.

Súper Comandos

🧩 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.

Debe ir en un Súper Ordenador.

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.

----------------------------------------------------------------------------------------------------------------------------------------------

Canales Corporativos Compatibles:

----------------------------------------------------------------------------------------------------------------------------------------------

Ejecución en terminal del Súper Ordenador:

MODO VERANO

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

MODO INVIERNO

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

REGISTRO DE EJECUCIÓN

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

GUARDAR RESPALDO DE HORARIOS

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

CARGAR RESPALDO DE HORARIOS

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

SUMAR UNA HORA A TODOS LOS CLIENTES

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

RESTAR UNA HORA A TODOS LOS CLIENTES

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

MODO TEST

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

----------------------------------------------------------------------------------------------------------------------------------------------

Requisitos obligatorios:

#!/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" && "$1" != "test_scheduled" ]]; then
    echo "==============================" > "$LOG_FILE"
    echo "🕓 Inicio de ejecución — $DATE_NOW" >> "$LOG_FILE"
    echo "==============================" >> "$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" >/dev/null 2>&1 &
    done
    wait
}

finish_log() {
    log "✅ Finalización completa — $(date '+%Y-%m-%d %H:%M:%S')"
    echo "------------------------------" >> "$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 >> /home/cvc/timeChange/timeChange.log 2>&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 >> /home/cvc/timeChange/timeChange.log 2>&1"
    echo "$RESTORE_COMMAND" | at now + $REVERSE_HOURS hours

    log "🏁 Proceso completo programado. Revisa log para seguimiento."
    finish_log
    exit 0
fi

Súper Comandos

🧩 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:

----------------------------------------------------------------------------------------------------------------------------------------------

Canales Corporativos Compatibles:

----------------------------------------------------------------------------------------------------------------------------------------------

Ejecución en Cualquier Equipo:

MODO RESPALDO

Respaldo General: Todos los Clientes
https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup

Respaldo: Spar Gran Canaria
https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup

Respaldo: Frigo Martel
https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup

Respaldo: Pizza Royers
https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup

Respaldo: Cash Converters
https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=backup

MODO RESTAURACIÓN

Restauración General: Todos los Clientes
https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore

Restauración: Spar Gran Canaria
https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore

Restauración: Frigo Martel
https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore

Restauración: Pizza Royers
https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore

Restauración: Cash Converters
https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=restore

MODO PERMUTACIÓN

Permutación General: Todos los Clientes
https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation

Permutación: Spar Gran Canaria
https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation

Permutación: Frigo Martel
https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation

Permutación: Pizza Royers
https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation

Permutación: Cash Converters
https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=permutation

MODO AJUSTE

Ajuste General: Todos los Clientes
https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust

Ajuste: Spar Gran Canaria
https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust

Ajuste: Frigo Martel
https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust

Ajuste: Pizza Royers
https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust

Ajuste: Cash Converters
https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=adjust

MODO ACTUALIZAR CACHÉ

Actualizar Caché General: Todos los Clientes
https://panel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update

Actualizar Caché: Spar Gran Canaria
https://spar.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update

Actualizar Caché: Frigo Martel
https://frigomartel.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update

Actualizar Caché: Pizza Royers
https://pizzaroyers.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update

Actualizar Caché: Cash Converters
https://cashconverters.comunicacionvisualcanarias.com/_scripts/actualizarLista.php?action=update

Actualizar Caché: Hilo Musical
https://hilomusical.comunicacionvisualcanarias.com/_scripts/borrarCache.php?action=all

------------------------------------------------------------------------------------------------------------------------------------

Requisitos obligatorios:

#!/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" &
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"

TextBox: Comandos

TextBox: Comandos

TB: Actualizar Permisos

TextBox ADMIN/AGENTE | Actualizar Permisos

# Ejecutar como ADMIN/AGENTE
#Instantaneo

cd /home
sudo chmod 777 cvc
sudo chmod +x cvc
sudo chmod 777 -R cvc
sudo chmod +x -R cvc