I backup non vengono più eseguiti

Verso l’inizio di marzo, i backup del mio Discourse hanno smesso di essere eseguiti.

Le impostazioni non sono state modificate, anche se potrebbe esserci stato (probabilmente c’è stato) un aggiornamento di Discourse.

I backup vengono salvati su archiviazione locale e, oltre alle impostazioni che limitano il numero massimo di backup a 3 e la frequenza dei backup a 3, tutte le altre impostazioni sono ai valori predefiniti.

Posso eseguire un backup manuale e funziona, anche se noto che ora il backup viene generato come file sql.gz, mentre in precedenza era un file tar.gz.

Tuttavia, i backup automatici non vengono eseguiti; sembrano avviarsi, ma non ricevo alcun rapporto di errore. Nella sezione Backup appare la scritta “Nessun backup disponibile.” (incluso il backup manuale eseguito qualche giorno fa, che ora è scomparso) e in Backup → Registri si legge “Nessun registro disponibile ancora…”.

Ho provato a riavviare il server (l’intero Droplet di DigitalOcean), ma questo non ha risolto il problema dei backup automatici.

La versione indica che sono aggiornato alla 2.6.3 (utilizzo il ramo stable, non quello latest).

Avete qualche suggerimento?

È normale, purché tutti i tuoi file caricati siano archiviati su S3. In tal caso, il file di backup contiene solo un dump compresso del database.

Ti preghiamo di controllare /logs. Ci sono errori che potrebbero essere correlati ai backup?
Inoltre, verifica /u/system/messages/sent per vedere se il sistema ha inviato messaggi privati (PM) relativi a backup falliti. Esisteva un bug che, in alcune circostanze, impediva agli amministratori di ricevere notifiche su tali messaggi.

È preoccupante che anche il backup manuale sia scomparso. Non sono sicuro di come ciò possa essere accaduto, dato che hai impostato maximum_backups a 3. Hai configurato qualche tipo di cronjob o script che sposta/elimina i backup o che non funziona con la nuova estensione del file (sql.gz invece di tar.gz)?
I file di backup sono davvero assenti? Cosa restituisce il comando ls /var/discourse/shared/standalone/backups/default?

È normale. La sezione Log mostra solo l’output dei backup manuali.

Ho appena verificato: non ci sono stati cambiamenti rilevanti nel codice di backup dalla versione 2.6.

Nessuno dei miei upload è archiviato su S3; sono tutti archiviati localmente.

Per quanto ne so, no. Ricevo il solito caos di TypeError, ma li ho sempre visti. Cercare “backup” non trova nulla, tranne TypeError relativi alle pagine web dei argomenti del forum che casualmente contengono la parola “backup”.

Oh, guarda, ci sono un sacco di messaggi “Backup fallito” – perché non vengo avvisato di questi?

Ok, beh, non so perché non li riceva mai come rapporto, ma ecco l’errore:

[2021-04-08 03:35:35] Rimozione della directory temporanea ‘/var/www/discourse/tmp/backups/default/2021-04-08-033313’…
[2021-04-08 03:35:35] Compressione dell’archivio con gzip, ciò potrebbe richiedere del tempo…
[2021-04-08 03:38:49] ECCEZIONE: lib/discourse.rb:92:in `exec’: Impossibile comprimere l’archivio con gzip.

gzip: /var/www/discourse/public/backups/default/keyboard-maestro-discourse-2021-04-08-033313-v20201116132948.tar.gz: Spazio su dispositivo esaurito

In realtà, quello è uno script esterno: copia il backup su un’altra macchina per l’archiviazione permanente e lo elimina per liberare spazio sul server (anche se apparentemente non abbastanza).

Quindi, le domande rimanenti:

  • Perché non ricevo alcun avviso per questi messaggi di errore?
  • Perché il backup manuale è un file .sql.gz mentre il backup effettivo è un file .tar.gz (entrambi avrebbero dovuto includere gli upload, che sono locali)?
  • Perché il backup manuale funziona ma il backup automatico esaurisce lo spazio (probabilmente correlato; forse il backup manuale non include effettivamente gli upload e quindi è più piccolo, anche se sembra avere la dimensione corretta)?
  • E la domanda ovvia – mi chiedo come farò a creare ulteriore spazio sul server? [Modifica: ok, eseguendo ./launcher cleanup ho liberato 15 GB di spazio, il che dovrebbe fare la differenza].

Ok, almeno ora so qual è il problema. Vorrei davvero sapere la risposta alla prima domanda, dato che ovviamente dovrei essere informato di questo. A chi vengono inviati questi messaggi via email o chi viene avvisato? Come posso assicurarmi di essere informato in futuro?

Grazie!

Come ho già detto, c’era un bug che è stato corretto in una delle recenti versioni beta.

Probabilmente hai scelto di creare un backup manuale senza gli upload nella finestra di dialogo che appare quando crei un backup dall’interfaccia utente.

Grazie, tutto ok allora. Controllerò di nuovo il backup e verificherò di aver premuto il pulsante sbagliato durante la creazione dei backup.

Molto apprezzato!