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.
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.
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.
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.
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
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.
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.