Cron task per sincronizzare i backup locali su DigitalOcean Spaces

Non sembra che riesca a far funzionare i backup su DigitalOcean Spaces. Tuttavia, il server ha il bucket montato tramite s3fs con le stesse credenziali. Ho solo bisogno che i backup vengano archiviati su Spaces, non upload, ecc. I log dicono EXCEPTION: Aws::S3::Errors::Forbidden Il log di produzione dice Failed to list backups from S3: Aws::S3::Errors::SignatureDoesNotMatch

C’è un modo per pianificare tramite cron uno spostamento del backup locale nel bucket tramite uno script bash? Grazie.

Per chiunque altro si imbatta in questo e voglia continuare, è possibile eseguire questo comando nel terminale bash. L’utente deve far parte del gruppo docker
docker cp app:\"/var/www/discourse/public/backups/default\" /whatever-host-path/

2 Mi Piace

Intendi i backup di discourse? Se sì, perché questo è in WordPress?

Se vuoi che vadano negli spazi, perché non configurare semplicemente i backup S3?

2 Mi Piace

Il sito principale è WordPress. Discourse si trova in una sottodirectory.
Sito principale: main.com
Discourse: main.com/forums
Ma la configurazione delle credenziali S3 per DigitalOcean Spaces mi dà gli errori sopra. Ho una scadenza da rispettare, quindi ho risolto il problema con i comandi che ho menzionato in precedenza. Ma sarebbe utile vedere le impostazioni funzionanti di qualcuno e/o i passaggi per la risoluzione dei problemi per far funzionare questo.

Sopra hai menzionato s3fs. Non ne hai bisogno. Gli errori di cui sopra provengono da s3fs, che non è qualcosa che Discourse supporta. Dovresti seguire qualcosa come Configurazione dell’archiviazione di file e immagini su S3 o Utilizzo dello storage di oggetti per i caricamenti (S3 e cloni), ma configurare solo il bucket di backup.

1 Mi Piace

Per renderlo più esplicito, l’“host” ha il bucket DigitalOcean Spaces montato, non il container. I due problemi non sono correlati. I backup generano errori se Discourse è configurato per S3. I backup funzionano se copio manualmente i backup locali sulla macchina host e poi li sposto su DigitalOcean Spaces.

Se i log Forbidden provengono da Discourse e non da s3fs, tentando di salvare nel bucket Spaces, allora è qualcosa come credenziali errate o nome del bucket errato.

Ah!

   Failed to list backups from S3:

Ah. Penso che questo sia il problema. Sta cercando di ottenere un elenco di bucket e non ci riesce. Non sono abbastanza sicuro di come risolverlo, ma questo è il problema che vuoi risolvere, quindi potresti modificare l’oggetto. Se vuoi correggere i tuoi backup S3, puoi ottenere aiuto qui; se vuoi configurare s3fs probabilmente dovrai cercare aiuto altrove.

Prova questa variabile ENV nel tuo app.yml

  FORCE_S3_UPLOADS: 1

Il tuo endpoint è corretto? Dai un’occhiata alla sezione Digital Ocean in Using Object Storage for Uploads (S3 & Clones).

1 Mi Piace

Finalmente questo ha funzionato per DigitalOcean Spaces a) Caricamento dei backup su Object Storage b) Non caricamento dei file caricati su Object Storage. Si prega di contrassegnare questo come risolto. Grazie a tutti!

2 Mi Piace

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