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
yredis@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:
- 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).
- 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.