Ripristino fallito - Backup S3 (compatibile)

Grazie @Falco, molto apprezzato! Ha funzionato perfettamente :smiley:

Ho migrato su un nuovo server; sembra che sarebbe andato bene anche rimanere sullo stesso.

Nel caso in cui qualcun altro voglia farvi riferimento in futuro, ecco i passaggi in maggior dettaglio (nota: le mie impostazioni S3 erano solo nel file app.yml come specificato qui, senza personalizzazioni nelle impostazioni di amministrazione):

  1. Sul sito di origine, se non si tratta di un rollback, abilita ‘disattiva email’ (potrebbe non essere necessario) e attiva la modalità sola lettura (ricorda di disattivarle sulla nuova istanza una volta completata la migrazione). Esegui un backup; una volta completato, valuta di fermare anche l’istanza vecchia (./launcher stop app). Indipendentemente dal fatto che si tratti di un rollback o meno, aggiorna i record DNS A per puntare all’IP del nuovo server. Puoi farlo in modo più elegante o in un ordine diverso per minimizzare i tempi di inattività; nel mio caso i tempi di inattività non erano un problema (rollback, forum non ancora lanciato).

  2. Installa Discourse sul nuovo server e migra tutto ciò che è personalizzato in app.yml, incluse le impostazioni S3; assicurati che le versioni di Discourse siano uguali o molto simili.

  3. Commenta queste due righe (le altre impostazioni S3 in app.yml possono rimanere invariate):
    DISCOURSE_S3_BACKUP_BUCKET: BucketName
    DISCOURSE_BACKUP_LOCATION: s3

  4. Scarica manualmente il backup desiderato da S3 o da un servizio compatibile con S3.

  5. Vai in /var/discourse/shared/standalone/backups e crea una nuova cartella chiamata ‘default’ se non esiste (non esiste se si tratta di una nuova installazione). Quindi, restando nella directory dei backup, esegui (questo cambia i permessi della cartella per corrispondere a quelli che avrebbe normalmente se Discourse avesse creato un backup locale - non sono sicuro che sia necessario):
    chown -R 1000:www-data default

  6. Carica il backup nella cartella backups/default usando un client SFTP; non rinominare il file di backup.

  7. Ricompila l’app:
    cd /var/discourse
    ./launcher rebuild app

  8. Entra nell’app, abilita i backup e ripristina (rinomina BackupFileName.tar.gz):

./launcher enter app
discourse enable_restore
discourse restore BackupFileName.tar.gz
  1. Una volta completato, decommenta le due righe relative al backup S3 in app.yml dal passaggio 2 e ricompila l’app.

  2. Puoi eliminare la cartella locale backups/default e il backup contenuto (/var/discourse/shared/standalone/backups).

Riferimento:

4 Mi Piace