Discourse-Backup-Version wiederherstellen

Ich hatte ein kleines Diskussionsforum für ein paar Jahre und es funktioniert gut. Ich habe automatische Backups eingerichtet, aber die Discourse-Version lange Zeit nicht aktualisiert.

Der Server ist abgestürzt, aber ich habe ein Backup. Das Backup ist von der alten Discourse-Version, etwa 2 Jahre alt. Wenn ich versuche, die neueste Version zu installieren und aus dem Backup wiederherzustellen, funktioniert es nicht. Wenn ich versuche, die alte Version zu installieren, ist es nicht möglich: Das Setup-Skript zieht automatisch neue Commits und das neueste Docker-Image, ich habe sogar diese Zeilen im Launcher-Skript gefunden und gelöscht, aber einige interne Codes im Docker-Image überprüfen und aktualisieren auch Git auf die neueste Version.

Was soll ich tun? Wie kann ich eine alte Discourse-Version ausführen oder ein altes Backup auf einer neuen Version wiederherstellen?

[quote=„Sailormoon, Beitrag:1, Thema:380574″]
Wenn ich versuche, die neueste Version zu installieren und aus einem Backup wiederherzustellen, funktioniert es nicht.
[/quote]

Wenn Sie Hilfe wünschen, müssen Sie spezifischer sein. Es sollte funktionieren. Es besteht eine gute Chance, dass das Problem auch nicht funktioniert, wenn Sie die gleiche Version von Discourse installieren konnten, die Sie damals hatten.

Welchen Fehler haben Sie erhalten?

Es gibt keine kritischen Fehler in der Ausgabe von ./launcher logs app, aber das Forum funktioniert nicht. Fast alle Schaltflächen funktionieren nicht, es gibt keine Themen und das HTML sieht seltsam aus (die fehlerhafte Startseite wiederholt sich und kann unendlich nach unten gescrollt werden).

Ich bin kein professioneller Techniker und hoffe, Sie können mir sagen, welche Protokolle ich meinem Bericht hinzufügen kann und wo ich sie finden kann.

Weiß jemand, wo ich zuverlässige Protokolle finden kann?

Gibt es Fehler in der Route /logs Ihres Forums?

Das Problem ist, dass ich nicht auf /logs zugreifen kann – „Diese Seite existiert nicht oder ist privat“. Und ich kann mich nicht anmelden, um sie zu überprüfen.

Versuchen Sie, sich mit dem Admin-Login unter https://forum.example.com/u/admin-login[1].


  1. Man lernt nie aus! ↩︎

Danke für den Link, aber er funktioniert nicht. Er sendet eine E-Mail, aber ich habe keinen SMTP-Server und verwende dieses Plugin: Disable Email Verification for Discourse Plugin

Vielleicht sind einige Konsolenbefehle auf dem Server möglich, um zu überprüfen, was passiert ist?

Soweit ich weiß, ist dieses Plugin kaputt. Sie möchten es vielleicht nicht verwenden.

1 „Gefällt mir“

Es gab keine andere Lösung, um Benutzern die Erstellung von Konten ohne E-Mail-Bestätigung zu ermöglichen, als ich einen Server erstellt habe.

Vielleicht ist es jetzt kaputt, aber ich versuche zumindest, die alte Version des Forums wiederherzustellen.

1 „Gefällt mir“

Derzeit kann ich keine Daten aus dem Forum abrufen, obwohl ich ein Backup habe. Es werden nur das Forum-Logo und Tags angezeigt, und alle Schaltflächen sind unbrauchbar.

1 „Gefällt mir“

Autsch, das verkompliziert die Sache. Könnten Sie versuchen, was hier erwähnt wird, um einige Protokolle zu erhalten?

Hast du den abgesicherten Modus versucht?

Und kommentiere das fehlerhafte Plugin aus, und vielleicht auch andere Plugins, die du hast. Du kannst sie wieder hinzufügen, sobald etwas funktioniert.

Die Rails-Produktionsprotokolle enthalten keine kritischen Fehler, product_errors.log ist leer.

Unicorn-Fehlerprotokolle unbekanntes OID 17246: Typ von 'embeddings' konnte nicht erkannt werden. Es wird als String behandelt. Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 2 EOFError subscribe fehlgeschlagen, Wiederverbindung in 1 Sekunde. Aufrufstapel /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client/ruby_connection.rb:103:in `rescue in read' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client/ruby_connection.rb:94:in `read' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client.rb:535:in `next_event' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/subscribe.rb:66:in `subscription' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/subscribe.rb:17:in `subscribe' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:175:in `_subscription' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/commands/pubsub.rb:17:in `subscribe' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus/backends/redis.rb:293:in `global_subscribe' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus.rb:769:in `global_subscribe_thread' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus.rb:740:in `block in new_subscriber_thread' Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Fehler beim Abrufen des Jobs: Verbindung verweigert - connect(2) für 127.0.0.1:6379 Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Fehler beim Abrufen des Jobs: Verbindung verweigert - connect(2) für 127.0.0.1:6379 Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Fehler beim Abrufen des Jobs: Verbindung verweigert - connect(2) für 127.0.0.1:6379 Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Fehler beim Abrufen des Jobs: Verbindung verweigert - connect(2) für 127.0.0.1:6379 Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Fehler beim Abrufen des Jobs: Verbindung verweigert - connect(2) für 127.0.0.1:6379 Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Job-Ausnahme: Verbindung verweigert - connect(2) für 127.0.0.1:6379 sidekiq-exception Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Job-Ausnahme: Verbindung verweigert - connect(2) für 127.0.0.1:6379 sidekiq-exception Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Job-Ausnahme: Verbindung verweigert - connect(2) für 127.0.0.1:6379 sidekiq-exception Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Job-Ausnahme: Verbindung verweigert - connect(2) für 127.0.0.1:6379 sidekiq-exception Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Job-Ausnahme: Verbindung verweigert - connect(2) für 127.0.0.1:6379 sidekiq-exception Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Heartbeat: Verbindung verweigert - connect(2) für 127.0.0.1:6379 Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 3 Job-Ausnahme: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) sidekiq-exception Fehler gemeldet: Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) 2 Verbindung verweigert - connect(2) für 127.0.0.1:6379 (redis://localhost:6379) subscribe fehlgeschlagen, Wiederverbindung in 1 Sekunde. Aufrufstapel /usr/local/lib/ruby/3.3.0/socket.rb:1219:in `__connect_nonblock' /usr/local/lib/ruby/3.3.0/socket.rb:1219:in `connect_nonblock' /usr/local/lib/ruby/3.3.0/socket.rb:60:in `connect_internal' /usr/local/lib/ruby/3.3.0/socket.rb:141:in `connect' /usr/local/lib/ruby/3.3.0/socket.rb:647:in `block in tcp' /usr/local/lib/ruby/3.3.0/socket.rb:231:in `each' /usr/local/lib/ruby/3.3.0/socket.rb:231:in `foreach' /usr/local/lib/ruby/3.3.0/socket.rb:637:in `tcp' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client/ruby_connection.rb:120:in `connect' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client/connection_mixin.rb:11:in `reconnect' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client.rb:769:in `block in connect' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client/middlewares.rb:12:in `connect' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client.rb:768:in `connect' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client.rb:759:in `raw_connection' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client.rb:719:in `ensure_connected' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-client-0.25.2/lib/redis_client.rb:314:in `call_v' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/client.rb:90:in `call_v' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:90:in `block in profile_method' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:152:in `block in send_command' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:151:in `synchronize' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis.rb:151:in `send_command' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-5.4.0/lib/redis/commands/strings.rb:191:in `get' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus/backends/redis.rb:366:in `process_global_backlog' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus/backends/redis.rb:279:in `block in global_subscribe' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus/backends/redis.rb:291:in `global_subscribe' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus.rb:769:in `global_subscribe_thread' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/message_bus-4.4.1/lib/message_bus.rb:740:in `block in new_subscriber_thread' unbekanntes OID 17246: Typ von 'embeddings' konnte nicht erkannt werden. Es wird als String behandelt.

Sidekiq-Protokolle sind leer.

Keine Probleme in den Nginx-Protokollen.

Ich sehe ein Redis-Verbindungsproblem in den Unicorn-Protokollen, aber die Redis-Protokolle selbst haben keine Fehler:

9706:C 28 Aug 2025 15:11:25.025 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 0 MB 881:M 28 Aug 2025 15:11:25.106 * Hintergrundspeicherung erfolgreich beendet 881:M 28 Aug 2025 15:16:26.096 * 100 Änderungen in 300 Sekunden. Speichere... 881:M 28 Aug 2025 15:16:26.097 * Hintergrundspeicherung gestartet von PID 10037 10037:C 28 Aug 2025 15:16:26.109 * DB auf Festplatte gespeichert 10037:C 28 Aug 2025 15:16:26.109 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 0 MB 881:M 28 Aug 2025 15:16:26.198 * Hintergrundspeicherung erfolgreich beendet 881:M 28 Aug 2025 15:21:27.004 * 100 Änderungen in 300 Sekunden. Speichere... 881:M 28 Aug 2025 15:21:27.004 * Hintergrundspeicherung gestartet von PID 10365 10365:C 28 Aug 2025 15:21:27.019 * DB auf Festplatte gespeichert 10365:C 28 Aug 2025 15:21:27.019 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 0 MB 881:M 28 Aug 2025 15:21:27.105 * Hintergrundspeicherung erfolgreich beendet 881:M 28 Aug 2025 15:26:28.030 * 100 Änderungen in 300 Sekunden. Speichere... 881:M 28 Aug 2025 15:26:28.031 * Hintergrundspeicherung gestartet von PID 10703 10703:C 28 Aug 2025 15:26:28.050 * DB auf Festplatte gespeichert 10703:C 28 Aug 2025 15:26:28.051 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 0 MB 881:M 28 Aug 2025 15:26:28.132 * Hintergrundspeicherung erfolgreich beendet 881:M 28 Aug 2025 15:31:29.094 * 100 Änderungen in 300 Sekunden. Speichere... 881:M 28 Aug 2025 15:31:29.095 * Hintergrundspeicherung gestartet von PID 11028 11028:C 28 Aug 2025 15:31:29.109 * DB auf Festplatte gespeichert 11028:C 28 Aug 2025 15:31:29.110 * Fork CoW für RDB: aktuell 1 MB, Spitze 1 MB, Durchschnitt 0 MB 881:M 28 Aug 2025 15:31:29.196 * Hintergrundspeicherung erfolgreich beendet

PostgreSQL-Protokolle weisen keine Fehler auf.

Wie kann ich es aktivieren?

Entschuldigung. Ich habe „safe-mode“ anstelle von „safe mode“ eingegeben und nicht bemerkt, dass es nicht automatisch verknüpft wurde.

Danke, es hat geholfen und das Forum funktioniert (nicht richtig, aber ich kann auf Themen mit Kontext zugreifen).

Das Forum ist jedoch ohne den abgesicherten Modus unbrauchbar, und ich erinnere mich nicht genau, welche Plugins ich installiert habe. Die Liste der Plugins sollte in app.yml stehen, aber der Server ist tot und ich habe nur ein Backup, das, soweit ich weiß, keine app.yml enthält. Was soll ich tun, um das Forum wiederherzustellen und fehlerhafte Plugins zu entfernen?

Die Wiederherstellung ohne eine vorhandene app.yml sollte keine Plugins außer den gebündelten (die alle offiziell sind) installieren.

Themes und Theme-Komponenten sind jedoch im Backup enthalten, versuchen Sie daher, sie zu deaktivieren.

Versuchen Sie, den sicheren Modus zu verwenden und nur Themes und Komponenten zu deaktivieren, um sicherzustellen, dass Ihre Probleme von einem davon verursacht werden.

2 „Gefällt mir“

Danke, es funktioniert wirklich nur ohne Themes, aber wo finde ich Themes? Im Backup sehe ich nur zwei Elemente: dump.sql.gz und den Ordner uploads, der nur Benutzer-Medien und Dateien enthält.

Sie können einfach über die Admin-Oberfläche auf die Themen zugreifen. Sie können sie zuerst alle deaktivieren und dann einzeln (oder wie auch immer) aktivieren.

1 „Gefällt mir“