Redis - appendonly.aof corrupto

Después de un apagado forzoso, Redis no pudo iniciarse correctamente. Los registros (logs) muestran el siguiente error:
{"log":"1:M 10 May 2025 07:25:48.404 * DB loaded from base file appendonly.aof.782.base.rdb: 3.577 seconds\n","stream":"stdout","time":"2025-05-10T07:25:48.404514303Z"}
{"log":"1:M 10 May 2025 07:25:49.182 # Bad file format reading the append only file appendonly.aof.782.incr.aof: make a backup of your AOF file, then use ./redis-check-aof --fix \u003cfilename.manifest\u003e\n","stream":"stdout","time":"2025-05-10T07:25:49.182706082Z"}
Este error indica que el archivo appendonly.aof está corrupto. Para corregirlo, es necesario usar el comando docker
, ya que el contenedor no inicia y, por lo tanto, no es posible acceder con tutor local exec redis bash
.
Atención
Se recomienda realizar una copia de seguridad del archivo AOF antes de ejecutar el comando de reparación.
Pasos para corregir el problema:
- Accede al directorio donde se encuentran los datos de Redis:
cd .local/share/tutor/data/redis
- Inicia un contenedor de Redis montando el directorio actual:
docker run --rm -it -v ./:/data redis sh
Nota
También puedes usarbash
si la imagen de Redis lo permite.
- Dentro del contenedor, ejecuta el siguiente comando para intentar reparar el archivo AOF:
redis-check-aof --fix /path/archivo.manifest
Este comando te preguntará si deseas truncar el archivo para corregirlo. Acepta y espera a que finalice el proceso.
-
Una vez finalizada la reparación, puedes salir del contenedor.
-
Finalmente, inicia Redis nuevamente:
tutor local start -d redis