I backup giornalieri sono sufficienti?

Sono un po’ un “controllore” quando si tratta di non perdere alcun dato. Vedere solo backup giornalieri mi fa sempre pensare che possa succedere qualcosa a un server e che improvvisamente un’intera giornata di dati, che può essere estremamente importante, sia persa.

Senza essere troppo tecnico, perché non sono un esperto, non sarebbe possibile un sistema in cui ciò che viene pubblicato/aggiunto viene replicato su un altro server? Credo che sia così che funziona una piattaforma di social media quando pubblichiamo contenuti?

Se questo non è possibile con Discourse, non sarebbero i backup orari un po’ più sicuri? Non vedo un’opzione per questo. Sembra che arrivi solo fino a 1 (giornaliero) o 0 (disabilitato).

Come gestite voi questa cosa?

Un buon VPS su una buona piattaforma ha pochissime probabilità di avere problemi, e specialmente non tra un aggiornamento e l’altro.

In quasi 8 anni di gestione di uno dei miei forum non ho mai subito alcuna perdita di dati.

Il batch giornaliero è progettato come un compromesso per la maggior parte degli utenti con hosting autonomo.

È un sistema abbastanza semplice, un regime, e non richiede troppo spazio o elaborazione.

Non riesco a immaginare che valga la pena farlo più spesso per la maggior parte delle persone.

Non ho mai avuto bisogno di usare un backup per crash online, li uso solo per la migrazione a nuovi server, se e quando necessario (perché ho superato le dimensioni del precedente!).

Le opinioni possono variare (YMMV).

Tuttavia, se pensi di aver bisogno di una configurazione più frequente… preparati a personalizzare la tua configurazione e sii pronto a mantenere tale personalizzazione (il che comporterebbe imparare come farlo e/o assumere qualcuno che ti aiuti).

3 Mi Piace

Backup e replica sono due cose diverse.

I backup forniscono un’istantanea dei dati in un dato momento. Forniscono un punto di ripristino.

La replica consiste nel distribuire ogni azione su un sistema diverso in modo da averla in più di una posizione. Anche le eliminazioni vengono replicate.

Se si desidera davvero essere tolleranti ai guasti, è necessario disporre di entrambi. (E altro ancora…)

Quindi la replica risolve solo il problema di avere dati correnti in più posti. I backup forniscono il metodo per ripristinare un sistema a un dato punto nel tempo.

Discourse utilizza 2 meccanismi per l’archiviazione:

  1. Database PostgreSQL per tutto tranne i file allegati
  2. I file allegati vengono archiviati sul sistema locale o in S3

Per eseguire il backup e/o replicare i dati archiviati nel database PostgreSQL, è possibile consultare la documentazione di PostgreSQL su come farlo. Riguardo ai backup e alla replica.

I file allegati sono un po’ più complicati. Se li si archivia su S3, è possibile utilizzare i backup S3. Per i file archiviati localmente, è possibile utilizzare una varietà di opzioni del sistema locale.

La creazione di backup completi è un’operazione pesante a seconda della quantità di dati. Quindi non è facile eseguirla più spesso. La procedura di backup standard di Discourse consiste nel creare backup completi. Se si desidera davvero ridurre il rischio di perdere dati, è necessario cercare altre opzioni.

Un’opzione potrebbe essere fornita dal servizio di hosting: snapshot del volume. Questo fornisce un modo per creare una copia “istantanea” dei dati archiviati in un volume. Ciò consente di ripristinare il volume a quel momento. Gli snapshot del volume potrebbero essere disponibili anche all’interno del sistema operativo a seconda del file system utilizzato. (ad esempio, btrfs lo supporta.)

Inoltre, la documentazione di PostgreSQL tratta anche della creazione di backup più continui del database, consentendo un eccellente ripristino del database al punto nel tempo. (Non dimenticare di spedire i backup fuori sede.) Questo è molto più veloce dei backup completi.

Per backup degli allegati più granulari, è possibile utilizzare vari strumenti di backup che consentono di gestire backup completi + differenziali. Ad esempio duplicity. Oppure si potrebbe usare rsync (senza eliminazione). Tra gli snapshot si potrebbero comunque perdere dei file. L’utilizzo di S3 senza eliminazione sarebbe più sicuro poiché i file sono già su un altro sistema.

In conclusione. Il meccanismo di backup standard di Discourse non è adatto per una pianificazione di backup più frequente. Se si desidera avere più backup, utilizzare una combinazione delle funzionalità standard di backup/replica di PostgreSQL, S3, snapshot del volume, ecc.

Sul mio sito non utilizzo il sistema di backup di Discourse per i backup regolari. Ho ancora backup giornalieri, ma utilizzo una combinazione di configurazioni pg_dump e duplicity (coordinate tramite backupninja).

3 Mi Piace

Eseguo il backup del database ogni 4 ore. Questo è l’intervallo di tempo in cui posso tollerare la possibile perdita di post. A titolo di paragone: il mio sito di e-commerce esegue backup ogni 5 minuti.

Una volta al giorno non è sufficiente. Il valore massimo di 24 ore di argomenti/post persi è semplicemente troppo.

1 Mi Piace

Riguarda la quantità di contenuti che potresti perdere: su un forum tranquillo, un backup ogni pochi giorni non sarebbe un problema, su un forum molto trafficato, anche un’ora potrebbe sembrare una grande perdita. Ma devi considerare l’improbabilità del fallimento: se perdessi un’ora di post una volta all’anno, diciamo, saresti molto turbato? Ogni dieci anni? Ognuno di noi ha la propria visione del rischio.

2 Mi Piace

Una perdita ancora più grande dei post potrebbero essere tutti i nuovi account creati in un periodo di 24 ore.

Soprattutto se Discourse viene utilizzato come provider SSO per le tue altre applicazioni o altre integrazioni.

Non credo che questa risposta “0 per giornaliero” sia corretta:

Screenshot 2025-12-29 at 13.26.18

1 Mi Piace

Zero disabilita i backup. Questa impostazione determina solo il numero di giorni tra i backup.

I backup frequenti personalizzati di @Jagster sembrano la soluzione più appropriata di cui hai bisogno se giornaliero non è sufficiente.

Sì, stavo solo sottolineando quanto siano pericolosamente sbagliati i suggerimenti che l’IA fornisce alle persone.

Immagina se qualcuno vedesse quello e lo implementasse perché gli è stato detto di farlo? :confused:

4 Mi Piace

Sembra che sia stato tratto da https://meta.discourse.org/t/staging-test-server-ignored-the-environment-variable/390085/2?u=falco. Aggiornerò il post per renderlo più chiaro.

5 Mi Piace