Tarea Cron para sincronizar copias de seguridad locales con DigitalOcean Spaces

No parece que pueda hacer que las copias de seguridad funcionen en DigitalOcean Spaces. Sin embargo, el servidor tiene el bucket montado a través de s3fs con las mismas credenciales. Solo necesito que las copias de seguridad se almacenen en Spaces, no las cargas, etc. Los registros dicen EXCEPTION: Aws::S3::Errors::Forbidden El registro de producción dice Failed to list backups from S3: Aws::S3::Errors::SignatureDoesNotMatch

¿Hay alguna forma de programar una tarea para mover la copia de seguridad local al bucket a través de un script de bash? Gracias.

Para cualquier otra persona que se encuentre con esto y quiera seguir adelante, puede ejecutar este comando en la terminal bash. El usuario debe ser parte del grupo docker
docker cp app:\"/var/www/discourse/public/backups/default\" /whatever-host-path/

2 Me gusta

¿Te refieres a copias de seguridad de Discourse? Si es así, ¿por qué está esto en WordPress?

Si quieres que vayan a espacios, ¿por qué no configuras simplemente copias de seguridad S3?

2 Me gusta

El sitio principal es WordPress. Discourse está en un subdirectorio.
Sitio principal: main.com
Discourse: main.com/forums
Pero la configuración de las credenciales de S3 para DigitalOcean Spaces me da los errores anteriores. Tengo una fecha límite que cumplir, así que acabo de solucionar esto con los comandos que mencioné anteriormente. Pero sería útil ver la configuración de trabajo de alguien y/o los pasos para solucionar problemas para que esto funcione.

Arriba mencionas s3fs. No lo necesitas. Los errores anteriores provienen de s3fs, que no es algo que Discourse soporte. Quieres seguir algo como Configuración de subida de archivos e imágenes a S3 o Uso de almacenamiento de objetos para subidas (S3 y clones), pero configura solo el bucket de copias de seguridad.

1 me gusta

Para que quede más explícito, el “host” tiene el bucket de DigitalOcean Spaces montado, no el contenedor. Los dos problemas no están relacionados. Las copias de seguridad generan los errores si Discourse está configurado para S3. Las copias de seguridad funcionan si copio manualmente las copias de seguridad locales a la máquina host y luego las muevo a DigitalOcean Spaces.

Si los registros Forbidden provienen de Discourse y no de s3fs, al intentar guardar en el bucket de Spaces, entonces es algo como que tienes las credenciales incorrectas o el nombre del bucket incorrecto.

¡Ah!

       Failed to list backups from S3:

Ah. Creo que ese es el problema. Está intentando obtener una lista de buckets y no puede. No estoy muy seguro de cómo solucionarlo, pero ese es el problema que quieres resolver, así que podrías editar el asunto. Si quieres solucionar tus copias de seguridad de S3, puedes obtener ayuda aquí; si quieres configurar s3fs, probablemente necesitarás buscar ayuda en otro lugar.

Prueba esta variable de entorno en tu app.yml

      FORCE_S3_UPLOADS: 1

¿Es tu endpoint correcto? Echa un vistazo a la sección de Digital Ocean en Usar almacenamiento de objetos para subidas (S3 y clones).

1 me gusta

Finalmente esto funcionó para DigitalOcean Spaces a) Subir copias de seguridad al almacenamiento de objetos b) No subir cargas de archivos al almacenamiento de objetos. Por favor, marque esto como resuelto. ¡Gracias a todos!

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.