Discourse no limpia las copias de seguridad locales de tmp después de subirlas a S3

Ejecutando 3.2.0.beta4-dev ( 86da47f58d ) pero hemos tenido este problema durante un tiempo.

Tenemos copias de seguridad configuradas para ir directamente a S3. Como es de esperar, la aplicación las lleva primero al almacenamiento local y luego las sube a S3, lo cual está bien. El problema es que no elimina cada copia de seguridad después de subirla, lo que provoca un uso masivo del espacio, incluso sin miniaturas guardadas dentro de las copias de seguridad.

root@forum:/var/discourse/shared/standalone/tmp/backups/default# du -sh
57G     .
root@forum:/var/discourse/shared/standalone/tmp/backups/default# du -k
7073520 ./2023-12-28-063845
8040176 ./2023-12-29-063923
8521220 ./2024-01-08-063857
4909616 ./2023-12-24-064434
4918056 ./2024-01-07-064325
7079136 ./2024-01-03-064430
7077984 ./2024-01-02-063855
2949660 ./2024-01-09-063708
59088404        .
root@forum:/var/discourse/shared/standalone/tmp/backups/default# rm -Rf *

¿Podría ser un problema de permisos en el directorio, posiblemente? Ciertamente no lo he cambiado.

root@forum:/var/discourse/shared/standalone/tmp/backups# ls -la
total 12
drwxr-xr-x 3 mas www-data 4096 Nov 23 06:44 .
drwxr-xr-x 4 mas www-data 4096 Nov 22 04:57 ..
drwxr-xr-x 2 mas www-data 4096 Jan  9 15:35 default

Lo extraño es que de la lista de archivos temporales, vemos que los días 2, 3, 7, 8 y 9 de enero consumen espacio. De la lista de copias de seguridad de Discourse en la interfaz de administración, solo veo el 4 de enero. Entonces, ¿quizás Discourse está realizando esas copias de seguridad pero no las está subiendo correctamente a S3? El problema con esa teoría es que la “frecuencia de copia de seguridad” está configurada en 3 en la configuración de administración, por lo que no debería intentar hacer copias de seguridad todos los días de todos modos. Tenga en cuenta que los registros de copias de seguridad en la interfaz de administración están vacíos, no hay registros allí.

Mi mejor explicación es que a veces el servidor se reinicia antes de que pueda eliminar el archivo de copia de seguridad local.

La lista de copias de seguridad muestra lo que está en S3, no en tu disco local.

¿Alguien está ejecutando una copia de seguridad manualmente?

El host tiene 90 días de tiempo de actividad y el contenedor de Docker tiene 6 semanas de tiempo de actividad, por lo que no hay reinicios reales, a menos que se trate de algo dentro de la aplicación.

No hay copias de seguridad manuales de mi parte, ciertamente no una cada día. Tampoco hay nada en cron, etc.

root@forum:/# uptime
 17:20:56 up 90 days,  1:52,  4 users,  load average: 0.81, 1.71, 1.81
root@forum:/# docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED       STATUS       PORTS                                                                      NAMES
d8bc34250454   local_discourse/app   \"/sbin/boot\"   6 weeks ago   Up 6 weeks   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app
1 me gusta

Todavía está sucediendo, suspira. Supongo que usaré cron para find -mtime +2 -delete. Buenos tiempos.

root@forum:/var/discourse/shared/standalone/tmp/backups/default# du -sh
14G     .
root@forum:/var/discourse/shared/standalone/tmp/backups/default# ls -la
total 16
drwxr-xr-x 4 mas www-data 4096 Jan 16 06:56 .
drwxr-xr-x 3 mas www-data 4096 Nov 23 06:44 ..
drwxr-xr-x 2 mas www-data 4096 Jan 14 06:38 2024-01-14-063807
drwxr-xr-x 2 mas www-data 4096 Jan 15 06:43 2024-01-15-064337
1 me gusta

[quote=“Wingtip, post:3, topic:291033”]El host tiene 90 días de actividad y el contenedor de Docker tiene 6 semanas de actividad, así que no hay reinicios reales, a menos que estés hablando de algo dentro de la aplicación.
[/quote]

Maldición. Esa era mi mejor suposición.

[quote=“Wingtip, post:4, topic:291033”]Sigue pasando, suspiro. Supongo que programaré un find -mtime +2 -delete. Buenos tiempos.
[/quote]

Sí. Ese podría ser el plan.

Hecho. No es la solución más elegante ni satisfactoria, pero supongo que el problema está resuelto.

1 me gusta

Sí. Creo que eso es lo que haré la próxima vez que tenga este problema.

2 Me gusta