Kann Backup von der CLI nicht wiederherstellen

Hallo,

Ich versuche, ein Backup wiederherzustellen, und erhalte immer wieder diesen Fehler:

Starting restore: blackiron-2022-12-03-163112-v20221201035918.tar.gz
[STARTED]
'system' hat die Wiederherstellung gestartet!
Wiederherstellung als laufend markieren...
Sicherstellen, dass /var/www/discourse/tmp/restores/default/2023-11-28-040817 existiert...
Archiv in das temporäre Verzeichnis kopieren...
Archiv entpacken, das kann eine Weile dauern...
EXCEPTION: /var/www/discourse/lib/discourse.rb:138:in `exec': Failed to decompress archive.

gzip: stdin: unerwartetes Dateiende
tar: Unerwartetes EOF im Archiv
tar: Unerwartetes EOF im Archiv
tar: Fehler ist nicht behebbar: wird jetzt beendet
/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>'
Rollback wird versucht...
Es war keine Rückgängigmachung erforderlich
Aufräumen...
Temporäres Verzeichnis '/var/www/discourse/tmp/restores/default/2023-11-28-040817' wird entfernt...
Wiederherstellung als beendet markieren...
Benachrichtige 'system' über das Ende der Wiederherstellung...
Fertig!
[FAILED]
Wiederherstellung abgeschlossen.

Ich bin mir nicht sicher, warum dort steht, dass das Backup unverändert ist, seit ich es heruntergeladen habe. Vielen Dank.

Gleicher Fehler im Web.

Das ist wahrscheinlich der kritische Fehler. Haben Sie versucht zu überprüfen, ob das Backup nicht beschädigt ist? Ich denke, das würde funktionieren:

$ gunzip -c  blackiron-2022-12-03-163112-v20221201035918.tar.gz | tar -t > /dev/null
1 „Gefällt mir“

Gleiches Problem. Ich kann kein neues Backup erstellen, da die RAID-Konfiguration für den Server längst nicht mehr vorhanden ist, ich diese Daten aber benötige.

image

Im Backup nachgesehen. Scheint gültig zu sein.

Befindet sich dies auf demselben Computer, auf dem Sie das Backup wiederherstellen? Es ist möglich, dass die Datei nicht vollständig übertragen wurde oder auf dem Transportweg beschädigt wurde.

Das Backup befindet sich auf meinem Windows-PC und ich verwende scp:

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

Stimmt die Prüfsumme bei beiden Dateien überein? (Anleitung zum Erstellen einer Prüfsumme hier.)

1 „Gefällt mir“

Es scheint so. Ich werde mit WinRAR weiter graben, aber wenn Sie Vorschläge haben, wäre ich dankbar. Ich erhalte dort auch dieselbe Warnung, aber in VSCode sehe ich sie problemlos.

Wenn das hilft, zeigt pigz Folgendes an:

/blackiron-2022-12-03-163112-v20221201035918.tar.gz nach <stdout> pigz: überspringen: /blackiron-2022-12-03-163112-v20221201035918.tar.gz: beschädigt -- unvollständige Deflate-Daten

Ich habe dort nicht viel Erfahrung. Wenn Sie eine Kopie der Dateien erhalten können, sollten Sie in der Lage sein, eine neue Sicherungsdatei zu erstellen, die Sie kopieren können.

Ich habe versucht, mein eigenes Skript zu schreiben, um es zu beheben, was nicht funktioniert hat.

Ich bin auch kein Experte für Gips, daher kann ich auch nicht viel tun. Wenn jemand anderes weiß, wie ich es mit vollem Zugriff auf das SQL-Skript und die Uploads wiederherstellen kann, lassen Sie es mich bitte wissen. Das SQL-Skript ist auf den ersten Blick in Ordnung und die Uploads sind ebenfalls in Ordnung.

Update: Ich konnte erfolgreich eine ältere Version der Website wiederherstellen, etwa 2 Monate alt. Ich suche immer noch nach einer Möglichkeit, die neuere Version online zu stellen.

Das sind gute Nachrichten. Ich habe einen Vorschlag gefunden, The gzip Recovery Toolkit zu verwenden, was vielversprechend klingt.

2 „Gefällt mir“

Folgte dieser Anleitung, verschob sie und erhielt diese Fehlermeldung:

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' hat die Wiederherstellung gestartet!
Wiederherstellung als laufend markieren...
Sicherstellen, dass /var/www/discourse/tmp/restores/default/2023-11-28-060452 existiert...
Archiv in das temporäre Verzeichnis kopieren...
AUSNAHME: /var/www/discourse/lib/discourse.rb:138:in `exec': Fehler beim Kopieren des Archivs in das temporäre Verzeichnis.
cp: kann '/var/www/discourse/public/backups/default/blackiron-2022-12-03-163112-v20221201035918.tar.gz' nicht zum Lesen öffnen: Keine Berechtigung

Gute Chance, dass die Datei einem anderen Benutzer gehört. ls -l /var/www/discourse/public/backups/default/blackiron-2022-12-03-163112-v20221201035918.tar.gz' würde das Problem wahrscheinlich zeigen.

1 „Gefällt mir“

Es steht, dass root es besitzt. Muss ich es zum discourse-Benutzer machen?

Bearbeiten: Es scheint, dass das Tool mehr Schaden angerichtet hat.