Migrazione degli upload da S3 a locale

Voglio migrare i miei file da S3 di nuovo in locale. Sto trasferendo manualmente tutti i file da S3 alla cartella uploads. Poi, dovrei cambiare l’URL di base dei link di caricamento, tornando all’URL di base del forum; è sufficiente per completare il lavoro?

2 Mi Piace

Why aren’t you using the built-in rake task? afaik it’s called uploads:migrate_from_s3

cd /var/discourse
./launcher enter app
rake uploads:migrate_from_s3

Then disable the enable s3 uploads site setting:

And finally rebake:

rake posts:rebake
4 Mi Piace

Because my s3 is minio and I’m not sure if this function is compatible with it or not.

1 Mi Piace

I tried this and after it was done, I didnt see any change in uploads. Still uploads are served from s3. btw the rake task was wierd to me. It ended so fast while I have thousnds of s3 uploads. It shouldve taked a while.

1 Mi Piace

I have all my uploads transferred to local manually. Is there something that I can do to change all of the links in database and posts directly? I don’t need to use this rake task.

1 Mi Piace

Hai risolto? Sto cercando anch’io di migrare tutte le risorse (tutto tranne i backup) da S3 al locale. C’è un modo semplice per farlo?

3 Mi Piace

Anch’io sto cercando un’opzione simile. Ma ho letto da qualche parte su questo stesso sito che, affinché tutto funzioni correttamente, bisogna prima risolvere alcuni grossi problemi. Quindi, per il momento, consigliano di non spostare S3 in locale.

Tuttavia, anch’io aspetto con ansia la soluzione a questo problema.

4 Mi Piace

Esiste un’impostazione nascosta del sito chiamata qualcosa come “scarica i caricamenti S3 in locale durante il backup”. Penso che tu possa utilizzarla per ripristinare su un altro server (o forse sul tuo server se modifichi le impostazioni con le impostazioni del sito in ombra nelle variabili d’ambiente). È questo che fa cdck quando chiudi un account e non ho mai avuto problemi nel ripristinare uno dei loro backup.

5 Mi Piace

Ho impostato quella impostazione nella console di Rails SiteSetting.include_s3_uploads_in_backups = true. Ma sembra che non abbia avuto alcun effetto. Il backup è rimasto della stessa dimensione (circa 375 MB, anche se i miei file caricati sono tra 700 MB e 1 GB).

Se per “impostazioni del sito oscurate” intendi tutte le impostazioni S3 nell’interfaccia web di Disco, allora ho compilato tutti quei campi con le relative impostazioni.

2 Mi Piace

Sto anche cercando di migrare i miei caricamenti da S3 a un archivio locale (VPS separato). Esiste una procedura documentata per farlo?

1 Mi Piace

Non proprio. Proverei a usare l’impostazione che ho descritto sopra.

1 Mi Piace

C’è un modo per trovare queste impostazioni nascoste?

2 Mi Piace

Quella di cui potresti aver bisogno nel contesto di questa discussione è menzionata sopra. Puoi vederle tutte nel file site_settings.yml nel codice sorgente di Discourse.

3 Mi Piace

Questo rake task non è più disponibile in 2.9.0 BETA 8

Qualcuno ha idee su come migrare da S3 a locale?

1 Mi Piace

Puoi attivare l’impostazione del sito nascosta chiamata qualcosa come download_s3_with_backups (non è proprio così ma non riesco a trovarla ora sul telefono) e poi ripristinare quel backup. Questo è ciò che accade quando lasci il hosting di cdck e funziona. Potrebbe essere necessario ripristinare su un server diverso (e comunque lo faresti per testare).

Modifica: grazie @Benjamin_D! è include_s3_uploads_in_backups

2 Mi Piace

Penso che sia questo:

4 Mi Piace

Quell’opzione non è disponibile nella pagina delle impostazioni dei controlli del sito Web di amministrazione, pagina delle impostazioni di Backup? Inoltre, non è l’opposto del download dei file S3?

1 Mi Piace

No.

backup_with_uploads non è la stessa cosa di include_s3_uploads_in_backups. Uno include i file locali nel backup. L’altro scarica ogni singolo file da s3 ogni volta che si effettua un backup. E l’intero scopo di s3 è che non è necessario effettuarne il backup.

3 Mi Piace

Quindi questo include i file locali durante il backup su S3

Questo scarica i file dallo store S3 per includerli nel backup (che potrebbe essere locale o su S3)


Sto cercando di capire i passaggi giusti qui, l’obiettivo è migrare tutti i file da S3 a locale, quindi se ho capito bene quello che stai dicendo:

  1. Abilita backup_with_uploads dalla console rails
  2. Crea un backup (locale o su S3)
  3. Ripristina usando il backup
  4. Disabilita backup_with_uploads dalla console rails

È corretto?

1 Mi Piace

Quindi, qual è l’approccio migliore per spostarsi da S3 al locale? :slight_smile:

  • Spostare manualmente i file (cartelle optimized/original) e fare un post-rebake dopo aver disabilitato l’opzione S3 da Discourse?
  • Utilizzare l’opzione admin download_s3_with_backups in ombra, scaricare e decomprimere quei file?
  • rake uploads:migrate_from_s3?
1 Mi Piace