Seite 1 von 2

Inkrementelles Backup, Forum kaputt, Beitraege retten

Verfasst: 27.07.2007 13:35
von nibblerrick
Tag zusammen,

ich bin etwas hilflos was den Titel angeht. Folgendes Problem:

Bei einem phpBB wurden immer nur inkrementelle Backups gemacht, d.h. die .sql-Datei die ich bekommen habe enthaelt die Forenliste, die Beitraege und die Einstellungen.
Auf mysql-Ebene sind folgende Datenbanken importiert worden:
phpbb_auth_access
phpbb_banlist
phpbb_categories
phpbb_config
phpbb_disallow
phpbb_forums
phpbb_forum_prune
phpbb_groups
phpbb_posts
phpbb_posts_text

Jedoch braucht phpBB ja noch einige mehr.
Die Benutzer fehlen jedoch. Wenn ich nun ein Restore mit dem vorhandenen Daten mache bekomme ich die Uebersicht des Forums wieder und es steht wieviele Beitraege jeweils gepostet sind. Klicke ich jedoch auf ein Forum erscheint nur, dass in diesem keine Beitraege existieren wuerden.

Gibt es eine Moeglichkeit, die Beitraege wieder zugaenglich zu machen?
Haengt das Problem mit dem fehlen der Benutzer zusammen?

Ich weiss, dass das Forum nicht wieder einfach reanimiert werden kann. Daher bin ich auf der Suche nach Moeglichkeiten an die alten Beitraege heranzukommen, so koennte man wenigstens wissenswertes noch retten.

Ueber die Suche hier im Forum bin ich leider nicht weitergekommen, evtl habe ich auch die falschen Suchbegriffe gewaehlt.
Ich bin fuer jegliche Art von Tips und Hilfe dankbar!

Viele Gruesse


Nico

Verfasst: 27.07.2007 20:52
von Mahony
Hallo
Wenn du kein Backup hast wo die fehlenden User noch vorhanden waren (also auch die fehlenden Tabellen), dann kannst du die Posts mit dem Database Maintenance Mod wiederherstellen. Die Postings werden dann vom Database Maintenance Mod in ein separates Forum verschoben.




Grüße: Mahony

Verfasst: 27.07.2007 21:25
von nibblerrick
Hi Mahony,

das hoert sich doch nach genausoetwas an, was ich gesucht habe.

Sobald gleich mein Notebook wieder Startklar ist werd ich das in meiner VM ausprobieren und vermelden, ob es gut war.

Ein grosses Dankeschoen!

Gruesse


Nico

Verfasst: 29.07.2007 21:35
von nibblerrick
Hi,

der Mod hilft Grundsaetzlich weiter.
Das Problem was ich jedoch habe ist, dass aus ca 20 Unterforen alle Beitraege zusammengeschmissen werden. Das ist natuerlich nicht so Gluecklich.

Gibt es evtl. noch andere Moeglichkeiten die Beitraege zu retten, und zwar in den Foren wo selbige drinsind?
Die Benutzer kann ich in der posts-Tabelle ohne weiteres auf -1, also Gast setzen. Nur das hilft noch nicht allzuviel weiter.
Ich steige nicht dadurch, an welchen Stellen was veraendert werden muss, damit es wieder funktioniert, welche Tabellen sind alle betroffen?
Ich hoffe, auf eine Moeglichkeit bei der ich mit "ein paar SQL-Statements" die Beitraege retten kann. Die User alle auf Gast, aber die Beitraege entsprechend lassen.

Danke und Gruesse


Nico

Verfasst: 29.07.2007 22:45
von Mahony
Hallo
Also du könntest mit diesem MOD hier ACP User Registration 1.0.1 neue User im ACP erstellen (und zwar genau so viele wie du vorher User hattest). Somit wären die Posting dann wieder mit der gleichen Struktur wie vorher sichtbar (sicherheitshalber dann noch einmal den Database Maintenance Mod drüber laufen lassen). Wenn du jetzt die User wieder löschst, bleiben die Beiträge erhalten und die Postings werden dem Gast zugeordnet.




Grüße: Mahony

Verfasst: 30.07.2007 15:07
von nibblerrick
Hi Mahony,

die Loesung hoert sich gut an. Mir scheint das trotzdessen etwas fuer einen langweiligen Abend zu sein, wenn man 164 user anlegen muss.

Wenn ich wuesste welche Tabellen alle betroffen sind um User anzulegen koennte ich ein Script schreiben welches SQL-Statements erstellt, was sich dann in die Backup-Datei einpflegen liesse und benutzer anlegt a la user1 bis user170.

Gruesse


Nico

Verfasst: 30.07.2007 15:38
von Mahony
Hallo
Schau mal hier insert_user function




Grüße: Mahony

Verfasst: 30.07.2007 16:25
von nibblerrick
Hiho,

nett, was es alles gibt :-)

Kann ich Dich nicht bei mir ins Regal stellen?

Danke und viele Gruesse


Nico


EDIT: Habe mir das ganze angeschaut und es sieht vielversprechend aus, jedoch stosse ich auf ein Problem: Administration ist eine Sache, Programmieren eine andere - in der ich leider nicht so bewandert bin.

Es wird verlangt, dass die $db-Variable initialisiert ist. Muss ja auch, ganz klar.
Das ganze muss ein php-Script werden.
Gibt es irgendwo ein Beispiel-Script fuer ein Grundgeruest oder Dokumentation zu Scripten im Zusammenhang mit phpbb?

Im Coding-Unterforum bin ich leider nicht fuendig geworden, vielleicht habe ich auch die falschen Suchbegriffe gewaehlt.

Danke und viele Gruesse


Nico

Verfasst: 01.08.2007 11:23
von nibblerrick
Hallo nochmal,

ich scheine wirklich mit den falschen Begriffen zu suchen, aber es muss doch Dokumenationsquellen fuer sowas geben?
Ein bischen Starthilfe reicht vielleicht schon...


Danke und Gruesse

EDIT:
Nebst etwas Starthilfe die ich gebrauchen koennte werde ich wohl das hier vorher testen:
http://www.phpbb.com/community/viewtopic.php?t=285945
Damit kann ich mein Ziel evtl. schneller erreichen.

(Miss-)Erfolge werde ich berichten!

Verfasst: 01.08.2007 23:16
von nibblerrick
Hallo,

so, nun wird es spannend. Mit der User-Importfunktion habe ich genuegend Benutzer importiert, etwas mehr als vorher die hoechste User-Zahl in der DB war.
Daraufhin wird mir im Board auch angezeigt welcher letzter Benutzer etwas gepostet haben soll.
Gehe ich nun in ein Unterforum ist dieses immernoch komplett leer.

Ich habe verschiedene Dinge vom db-Maintenance-Mod drueberlaufen lassen (also immer restore - user hinzu - db-mod-update fuer die Datenbank und dann probiert).
Es kommt immer dabei heraus, dass es entweder nichts hilft oder die ganzen Beitraege in das Extra-Unterforum kommen, also alle Beitraege dir vorhanden waren.
Grund: "Moving posts with invalid forum". D.h. doch soviel, wenn ein Forum zB nicht existiert, aber Beitraege dazu noch kommt es darein. Allerdings existieren alle 25 Unterforen, die stehen auch in der Datenbank drin mit der Foren-ID. Die _forums Tabelle ist gefuellt, die _topics Tabelle ist gefuellt und die _posts Tabelle auch. Die wurden aus dem vorhandenen Backup gespeist.
Warum meint er nun, dass es da jede Menge Topics gibt die zu keinem gueltigen Unterforum gehoeren?
Wo muss ich nach suchen? Was passt hier nicht?

Herzlichen Dank!