Ripristina un backup dalla riga di comando

:bookmark: Questa guida spiega come ripristinare un backup di Discourse dalla riga di comando senza utilizzare l’interfaccia web di Discourse.
:person_raising_hand: Livello utente richiesto: Amministratore
:wrench: Accesso alla console richiesto

Ecco come ripristinare un backup di Discourse dalla riga di comando, senza avviare mai l’interfaccia web di Discourse. Questo è utile quando si sta cambiando server.

Prerequisiti

Prima di iniziare, assicurati di completare i seguenti passaggi:

  1. Scarica l’ultimo file di backup dall’istanza Discourse di origine.
  2. Avvia l’istanza Discourse di destinazione eseguendo ./discourse-setup o copiando il tuo file app.yml esistente.
  3. Assicurati che l’istanza Discourse di destinazione sia aggiornata all’ultima versione. Aggiornala se necessario.

Trasferisci il backup

  1. Accedi al server di destinazione tramite SSH, o crea la cartella di backup lì in altro modo:

mkdir -p /var/discourse/shared/standalone/backups/default

  1. Carica il tuo file di backup sul server di destinazione.

scp /path/to/backup/backup.tar.gz root@192.168.1.1:/var/discourse/shared/standalone/backups/default

Assicurati di sostituire i percorsi, i nomi dei file e i nomi dei server con quelli che stai utilizzando – ma vuoi che il file di backup finisca in:

/var/discourse/shared/standalone/backups/default

:mega: Puoi anche caricare e scaricare il tuo file di backup di Discourse da siti di archiviazione web popolari come Google Drive, Dropbox, OneDrive, ecc. – dovrai cercare le istruzioni specifiche della riga di comando in base al tuo provider di archiviazione web preferito.

:warning: NON CAMBIARE IL NOME DEL FILE DI BACKUP! Discourse tratta il nome del file di backup come metadati, quindi se modifichi il nome del file, il ripristino non funzionerĂ . Mantieni il nome originale del file.

Sostituisci /path/to/backup/discourse-xyz.tar.gz con il percorso locale del tuo file di backup e sostituisci \u003cserver_ip_address\u003e con l’indirizzo IP del server di destinazione.

:bulb: Se Nginx è usato come proxy inverso (Running other websites on the same machine as Discourse) assicurati che tutti i percorsi verso il backup siano leggibili dal container e che Nginx possa leggere il file .sock.

Ripristina il backup

  1. Accedi al tuo server di destinazione e naviga nella cartella Discourse:
cd /var/discourse
  1. Accedi al container dell’app Docker di Discourse:
./launcher enter app
  1. Abilita la funzionalitĂ  di ripristino:
discourse enable_restore
  1. Ripristina il file di backup:
discourse restore sitename-2019-02-03-042252-v20190130013015.tar.gz

:bulb: Suggerimento: Se esegui discourse restore senza un nome file, elencherĂ  tutti i file di backup disponibili.

:warning: Se l’impostazione backup_location del tuo sito è configurata per utilizzare S3, ma hai caricato manualmente il file di backup nel filesystem locale, devi specificare --location local:

discourse restore --location local sitename-2019-02-03-042252-v20190130013015.tar.gz

Allo stesso modo, usa --location s3 per ripristinare direttamente da un backup S3 senza scaricarlo prima.

  1. Esci dal container dell’app Docker di Discourse:
exit

Ricostruisci

Dopo aver ripristinato il backup, potresti scegliere di ricostruire l’istanza di destinazione per assicurarti che tutte le impostazioni e le configurazioni vengano applicate correttamente.

:mega: Ora è un buon momento per aggiornare /var/discourse/containers/app.yml con HTTPS completo, plugin aggiuntivi o configurazione CDN. Confronta la configurazione di app.yml di entrambe le istanze per esserne sicuro!

cd /var/discourse
./launcher rebuild app

Abilita Email

Quando viene ripristinato un backup, la posta in uscita per gli utenti non staff viene disabilitata. Non vuoi che il tuo server di prova, il nuovo server o il server su cui hai appena ripristinato un backup per qualsiasi altro motivo inizi a inviare email ai tuoi utenti! Cambia l’impostazione del sito disable_emails in “no” per riabilitare le email.

:tada: Ecco fatto. Il tuo server Discourse è stato ripristinato con successo.

78 Mi Piace
Move your Discourse Instance to a Different Server
Any other way to take backup and restore?
How easy is it to move to another server?
HELP! My Discourse just deleted everything?
Restore backup is broken
How to migrate Discourse from one server to another with the same DNS name
Best Practices for Backups
Problem upgrading Discourse
Upgrading v2.2.0.beta4 forum with unknown local changes
Set up file and image uploads to S3
Quick question about site backups
My install broke after updating, how can I fix it?
Is there any way to restore your site from backup in the terminal?
Migrating Discourse from one DigitalOcean droplet to another without downtime
Restore backup right away after installing Discourse
Unable to migrate to S3, therefore unable to restore from backup
Restore Failure - S3 (compatible) backup
"EXCEPTION: psql failed: DETAIL: Key (post_id)=(36946) is duplicated."
Migrate from another forum to Discourse
My install is 16,359 commits behind! Advice?
Trying to recover an installation
Migration failed: relation "user_required_fields_versions" already exists
How can I manually verify via the CLI and bypass the Congratulations, you installed Discourse! screen?
Configuring automatic backups
Migrating to a new server that has a new DB and new S3 buckets for backup and uploads
Intended path to migrate S3 to local
Problem when updating Discourse Forum
Failed to restore from the backup
Steps involved to downgrade from 2GB to 1GB on DO?
Forum offline: Restore is not working through web
Forum offline: Restore is not working through web
Testing Restore - not working
Entire site is a blank page after upgrade
"discourse: command not found" when trying to restore a backup from the command line
Stuck with 500 error after weird bugs and a rebuild
Plesk server migration
"Key is stored in legacy trusted.gpg keyring" warning
"Key is stored in legacy trusted.gpg keyring" warning
Discourse broken after moving servers
Stuck and lost updating forum, problems with PG migration
How to manually migrate s3 files to local?
Index_users_on_username_lower error during database restore: import failed
How can I get the current version information from my backup?
Backup Prod -> Snap -> Build Test -> Change Address
How to properly package discourse as an image
2FA with OTP broken after restoring from Backup
I'm trying to migrate an old discourse by creating a new discourse, but I'm having trouble
Recover from filesystem backup: can't rebuild nor start
Error: Can't notify admin while restoring backup during a migration to a fresh install
MKJ's Opinionated Discourse Deployment Configuration
Migrate from AWS to Digital Ocean with 2 containers, spaces and 2 CDNs
Cannot restore database: sql key is duplicated
Finding UI generated backup and restoring site
Backup discourse from the command line
Migration to a Self-Hosted solution from Kubernetes
How to download the backup file without SMTP function?
Redis Problems? (Forum broken after upgrade)
Can't upload backup
Can't upload backup
Can't upload backup
Rate limiter issues when uploading a backup file / can't disable rate limiter
Help restoring - system hung at midnight
Help restoring - system hung at midnight
Uploads missing after restore
My install is 16,359 commits behind! Advice?
Issues Rebuilding After Upgrade to Ubuntu 22.04