Skip to main content

Redis: Rotura de WordPress por error de Redis en Directadmin

Escenario

  • Sitio WordPress configurado con Redis Object Cache.
  • El sitio deja de funcionar mostrando el mensaje Error Establishing a Redis Connection

Al ejecutar systemctl, se observa que:

  • redis-server (Redis principal) está activo.
  • redis-rspamd y redis@user_a están fallando.

Análisis

Buscamos informacion sobre el estadod el servicio

systemctl | grep redis
● redis-rspamd.service      loaded failed failed    Multi-user redis persistent key-value database
  redis-server.service      loaded active running   Advanced key-value store
  redis@user.service        loaded active running   Multi-user redis persistent key-value database
  system-redis.slice        loaded active active    Slice /system/redis

Diagnóstico

Los registros del sistema (journalctl) muestran:

cat /var/log/syslog| grep -i redis
...
2025-05-29T06:35:57.647681+02:00 dar redis-server[1064]: 1064:M 29 May 2025 06:35:57.647 * Server initialized
2025-05-29T06:35:57.648969+02:00 dar redis-server[1064]: 1064:M 29 May 2025 06:35:57.648 # Can't handle RDB format version 12
2025-05-29T06:35:57.649027+02:00 dar redis-server[1064]: 1064:M 29 May 2025 06:35:57.648 # Fatal error loading the DB, check server logs. Exiting.
...

Can't handle RDB format version 12 Fatal error loading the DB, check server logs. Exiting.

Esto indica que Redis no puede leer el archivo de base de datos dump.rdb. Las causas habituales son:

  1. El archivo fue generado por una versión de Redis diferente (por ejemplo, tras un downgrade de versión en una actualización de DirectAdmin).
  2. El archivo se ha corrompido, posiblemente tras un reinicio forzado o caída del sistema.

Solución

Previa para liberar al wordpress del problema

Deberas eliminar el fichero de wordpress object-cache.php

rm -f /home/USER/domains/DOMAIN.TLD/public_html/wp-content/object-cache.php

Eliminar los archivos dump.rdb afectados para forzar su regeneración limpia:

rm -f /var/lib/rspamd/.redis/db/dump.rdb
rm -f /home/USER/.redis/db/dump.rdb

Reiniciar los servicios Redis afectados:

systemctl restart redis-rspamd
systemctl restart redis@USER

Consideraciones

  • Esta operación elimina los datos almacenados en caché, pero no afecta a los datos persistentes del sitio WordPress.
  • Redis volverá a crear los datos necesarios durante el uso normal del sistema.
  • Si Redis estaba siendo utilizado para sesiones, estadísticas u otras funciones de estado, esa información se perderá.

Verificación

Si no conoces la ubicación del archivo dump.rdb, puedes buscarlo con:

locate dump.rdb

Es necesario tener mlocate o plocate instalado y la base de datos actualizada con updatedb.

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.