Impossibile ripristinare il backup dalla cli

Ciao,

Sto cercando di ripristinare un backup e continuo a ricevere questo errore:

Starting restore: blackiron-2022-12-03-163112-v20221201035918.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2023-11-28-040817 exists...
Copying archive to tmp directory...
Unzipping archive, this may take a while...
EXCEPTION: /var/www/discourse/lib/discourse.rb:138:in `exec': Failed to decompress archive.

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
/var/www/discourse/lib/discourse.rb:172:in `execute_command'
/var/www/discourse/lib/discourse.rb:138:in `exec'
/var/www/discourse/lib/discourse.rb:34:in `execute_command'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:78:in `decompress_archive'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:23:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/command.rb:28:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor.rb:527:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.3.0/lib/thor/base.rb:584:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:492:in `exec'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:28:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:45:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2023-11-28-040817' directory...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.

Non sono sicuro del perché dica così, il backup è inalterato da quando l’ho scaricato. Grazie.

Stesso errore sul web.

Questo è probabilmente l’errore critico. Hai provato a verificare che il backup non sia corrotto? Penso che questo funzionerebbe:

$ gunzip -c  blackiron-2022-12-03-163112-v20221201035918.tar.gz | tar -t > /dev/null
1 Mi Piace

Stesso problema. Non riesco a ottenere un nuovo backup perché la configurazione RAID per il server non esiste più, ma ho bisogno di questi dati.

image

Controllato all’interno del backup. Sembra essere valido.

È sulla stessa macchina su cui stai ripristinando il backup? È possibile che il file non sia stato trasferito completamente o si sia corrotto durante il transito.

Il backup si trova sul mio PC Windows e sto usando scp:

scp blackiron-2022-12-03-163112-v20221201035918.tar.gz root@#.#.#.#:/var/discourse/shared/standalone/backups/default

Il checksum corrisponde su entrambi i file? (Istruzioni per generare un checksum qui.)

1 Mi Piace

Sembrerebbe di sì. Continuerò a fare ricerche con WinRAR ma se hai suggerimenti, li apprezzerò. Ricevo lo stesso avviso anche lì, ma riesco a vederlo bene in VSCode.

Se questo aiuta, pigz mostra:

/blackiron-2022-12-03-163112-v20221201035918.tar.gz a \u003cstdout\u003e pigz: saltato: /blackiron-2022-12-03-163112-v20221201035918.tar.gz: corrotto -- dati deflate incompleti

Non ho molta esperienza in merito. Se riesci a ottenere una copia dei file, dovresti essere in grado di creare un nuovo file di backup da copiare.

Ho provato a scrivere uno script per risolvere il problema, ma non ha funzionato.

Inoltre, non sono un esperto di gzip, quindi non posso fare molto. Se qualcun altro sa come posso ripristinarlo con pieno accesso allo script SQL e ai caricamenti, per favore me lo faccia sapere. Lo script SQL sembra a posto a prima vista e anche i caricamenti vanno bene.

Aggiornamento: Sono riuscito a ripristinare con successo una versione precedente del sito, di circa 2 mesi fa. Sto ancora cercando di caricare quella nuova.

Ottime notizie. Ho trovato un suggerimento per usare The gzip Recovery Toolkit, che sembra promettente.

2 Mi Piace

Seguito questa guida e l’ho spostata e ho ottenuto questo errore:

root@ftsweb-app:/var/www/discourse# discourse restore blackiron-2022-12-03-163112-v20221201035918.tar.gz
Starting restore: blackiron-2022-12-03-163112-v20221201035918.tar.gz
[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2023-11-28-060452 exists...
Copying archive to tmp directory...
EXCEPTION: /var/www/discourse/lib/discourse.rb:138:in `exec': Failed to copy archive to tmp directory.
cp: cannot open '/var/www/discourse/public/backups/default/blackiron-2022-12-03-163112-v20221201035918.tar.gz' for reading: Permission denied

È molto probabile che il file sia di proprietà di un altro utente. ls -l /var/www/discourse/public/backups/default/blackiron-2022-12-03-163112-v20221201035918.tar.gz' mostrerebbe il problema, probabilmente.

1 Mi Piace

Dice che appartiene a root. Devo renderlo l’utente discourse?

Modifica: sembra che lo strumento abbia causato più danni.