Seite 1 von 2

Vagabundierende Dateien im files-Ordner

Verfasst: 19.05.2013 19:36
von trapperjoe
Moin moin

Damit keine Mißverständnisse entstehen, ich meine nicht die Verwaiste Dateianhänge, die man im ACP leicht löschen kann.

Ich betreue als Admin und Gründer ein fast 10 Jahre existierendes Forum : http://deutsches-afrika-korps.de/

Übernommen habe ich es als phpBB2 und es dann auf phpBB3 konvertiert. Jetzt stören mich mehr und mehr die „vagabundierenden Dateien“ im files-Ordner.

Im ACP werden mir 12565 Dateianhänge mit 446,18 MB angezeigt. In FileZilla jedoch 13212 Dateien mit 510,1 MB.
Eine Differenz von 647 Dateien und 64 MB. Offenbar wurden die verwaisten Dateianhänge vor meiner Zeit (phpBB2) nicht besonders beachtet.

Ein weiteres Problem: Ich als Admin habe keinen Zugriff auf Beiträge von ausgeschiedenen Mitgliedern (Account inzwischen gelöscht). Beispiel: wenn ich den Dateianhang verändern möchte kommt die Meldung „Du hast keine Berechtigung auf diese Datei zuzugreifen...“
Gerade bei den alten Beiträgen gab es keine Begrenzung der Dateigröße und Bildgröße.

Jetzt meine Fragen:

1.) Wie kann ich Zugriff auf Beiträge mit gelöschtem Account bekommen?
2.) Wurden bei phpBB2 Dateianhänge die über PM verschickt wurden im files-Ordner abgelegt?
3.) Gibt es eine elegante Methode diese vagabundierende Dateien zu löschen? (bisher überprüfe ich jede Datei einzeln)

Das reicht erstmal.

Ich bedanke mich schon heute für eure Hilfe.

Mit freundlichen Grüßen

trapperjoe

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 20.05.2013 23:14
von Miriam
trapperjoe hat geschrieben:3.) Gibt es eine elegante Methode diese vagabundierende Dateien zu löschen? (bisher überprüfe ich jede Datei einzeln)
  1. mache ein DB Backup (KB:mysqlbackup),
  2. nimm diesen Code,
  3. speichere ihn als PHP Datei in Foren-Root-Verzeichnis,
  4. rufe die neue Datei einmal auf,
  5. gehe ins ACP,
  6. markiere die neu eingetragenen verwaisten Dateien,
  7. lösche die Dateien im ACP,
  8. lösche die PHP-Datei auf Deinem Webspace

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 21.05.2013 07:01
von trapperjoe
Moin Miriam

Werde deine ausführlichen Anweisungen befolgen, allerdings werde ich mich erst heute Abend dransetzen. Werde dann berichten, kann bei der Menge aber dauern.
Vielen Dank schon mal.

mfG trapperjoe

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 21.05.2013 10:39
von Miriam
Anmerkungen:
  • Es werden keine Verzeichnisse gelöscht, obwohl sie im ACP als verwaiste Dateianhänge gelistet sind.
  • Es werden auch Dateien gelistet, die in Wahrheit NICHT verwaist sind.
    Es erfolgt aber keine Löschung, obwohl die Routine meldet, daß die Datei gelöscht wurde.
  • Die Eintragung der Dateinamen in die DB schlägt fehl, wenn die Dateinamen UTF-8 Zeichen enthalten.
    Das sollte aber nicht passieren, da die Dateien mit der phpBB Routine hochgeladen wurden.
    Falls es doch Probleme geben sollte: Abhilfe schafft dieser neue Code
  • Die Routine läuft nun durch und UTF-8 Dateinamen werden auch im ACP gelistet, aber die phpBB3 Routine löscht sie nicht, obwohl sie als gelöscht gemeldet und dann auch nicht mehr angezeigt werden.
  • Evtl. schlägt die Löschung im ACP fehl, wenn zuviele Dateien zur gleichzeitgen Löschung ausgewählt wurden. Hintergrund ist die fehlende oder zu niedrige Einstellung für max_input_vars in der php.ini.
    Dann müssen weniger Dateien ausgewählt oder das Limit heraufgesetzt werden (letzteres wirst Du wahrscheinlich nicht umsetzen können)
Trotzdem gilt: Sichere Deine Daten VOR DEM AUSFÜHREN des Scripts und der Löschung im ACP!

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 25.06.2013 11:42
von trapperjoe
Moin Moin Miriam

Ich möchte nach langer Zeit (es gibt manchmal noch wichtigere Dinge als das Forum) dir einen Zwischenbericht geben.

Du hast mir 2 Dateien zur Verfügung gestellt

1. Dateien finden und löschen
2. Dateien finden un löschen Teil 2

Nach anfänglichen Problemen konnte ich Datei1 installieren und aufrufen. Den anfänglichen Fehler konnte ich später nicht reproduzieren.

Bei Datei1 erhalte ich auf dem Monitor eine Auflistung aller Dateien des files-Ordners mit 1 Datei pro Zeile.
Im ACP erhalte ich eine Maske mit Überbreite, rechts-links scrollen ist nicht möglich, folglich kann ich nicht jedes Feld sehen. Sichtbar für mich ist nur der Dateiname und ein immer gleichlautendes Datum.

Dann habe ich die Datei2 installiert und aufgerufen. Auf dem Monitor erhalte ich auch eine Auflistung der Dateien, aber alle nacheinander in einer Zeile. Diese Liste ist händisch daher nicht bearbeitbar. Das ACP hat sich inzwischen mit der Fehlermeldung :

Fatal error: Out of memory (allocated 38535168) (tried to allocate 44 bytes) in /mnt/webm/e2/82/52133882/htdocs/includes/db/mysqli.php on line 255

verabschiedet.

Ich habe jetzt also ein weiters Problem: Wie bekomme ich diese 380596 Verwaiste Dateianhänge wieder weg?

Zurück zu meinem ursprünglichen Problem.

Es ist bei mir die Mod ACP_MANAGE_ATTACHMENTS installiert. Wenn ich davon eine Liste wie die von Datei 1 erhalten könnte, dann könnte ich beide Listen vergleichen und die „vagabundierenden Dateien“ händisch rausfiltern.

mfG
trapperjoe

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 29.06.2013 17:00
von trapperjoe
Moin Moin

Ich hatte zwar Miriam namentlich begrüßt und ihr meine derzeitigen Probleme geschildert, soll aber nicht bedeuten, daß ich von niemanden anderen Hilfe annehmen würde. 8)

mfG
trapperjoe

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 06.07.2013 15:34
von Talk19zehn
Hm, - schwierig zu beurteilen .....
trapperjoe hat geschrieben:...(...)... Übernommen habe ich es als phpBB2 und es dann auf phpBB3 konvertiert.
...(...)...
Ob du tatsächlich an die Benutzerbeiträge einschl. der Dateianhänge gelangen kannst... ( ? ) - von daher nur eine Idee und unter Vorbehalt:
trapperjoe hat geschrieben:1.) Wie kann ich Zugriff auf Beiträge mit gelöschtem Account bekommen?


Zu 1)

Support-Toolkit schreibt:
Gelöschte Benutzer wiederherstellen

Dieses Tool ermöglicht es, Benutzer wiederherzustellen, die gelöscht wurden, aber von denen noch Beiträge als Gast existieren.
Diesen Benutzern wird ein zufälliges Passwort zugeordnet, das du manuell zurücksetzen musst, nachdem das Tool ausgeführt wurde. Das Tool stellt keine Liste dieser generierten Passwörter zur Verfügung!

Meiner Meinung nach, ermöglicht das STK seit dem Jahr 2010 das Wiederherstellen gelöschter Benutzer anhand der Auswahl des "Gast-Accounts". Es erstellt ein Benutzerkonto mit allen Beiträgen und Anhängen. Bin mir jedoch unsicher, ob das in deinem Falle greift, da mir unklar ist, ob in deinem Falle das Gast-Konto bei Löschung zum Einsatz kam.

Wenn mich nicht alles täuscht, gibt´s im Netz eine damalige Kurz-Anleitung von Mahony bzgl. der Reaktivierung gelöschter Benutzer mittels STK einschl. der Beiträge und deren Zuordnungen. Evtl. darin auch bzgl. der Dateianhänge. Ich finde den Link momentan leider nicht auf die Schnelle.

STK 1.0.7 für phpBB 3.0.11
https://www.phpbb.com/customise/db/official_tool/stk/
Deutsches Sprachpaket siehe TAB --> LANGUAGE-PACKS

Zuvor unbedingt eine Komplettsicherung http://www.mysqldumper.de/ erstellen.

Viel Glück!

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 07.07.2013 15:19
von trapperjoe
Moin Talk19zehn

Danke für deine Hilfe und den Link. Ich möchte das Problem erstmal hinten anstellen und jetzt keine weitere Baustelle aufmachen, sonst komm ich irgendwann ins schleudern.
trapperjoe hat geschrieben: Zurück zu meinem ursprünglichen Problem.

Es ist bei mir die Mod ACP_MANAGE_ATTACHMENTS installiert. Wenn ich davon eine Liste wie die von Datei 1 erhalten könnte, dann könnte ich beide Listen vergleichen und die „vagabundierenden Dateien“ händisch rausfiltern.
Jetzt vergleiche ich noch die Dateien im files-Ordner mit den Dateinamen im ACP_MANAGE_ATTACHMENTS . Da beide nicht in der gleichen Reihenfolge gelistet sind, ist das ganze ein sehr mühsames Geschäft.

Mathematisch gesehen allerdings kein Problem: files-Ordner - ACP_MANAGE_ATTACHMENTS = vagabundierende Dateien, oder mache ich da einen Denkfehler?

Bin für jede Idee und Hilfestellung dankbar.

mfG
trapperjoe

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 07.07.2013 15:39
von Miriam
trapperjoe hat geschrieben:Mathematisch gesehen allerdings kein Problem: files-Ordner - ACP_MANAGE_ATTACHMENTS = vagabundierende Dateien, oder mache ich da einen Denkfehler
So ist es. Das von mir breitgestellte Script, hat das mehr oder weniger so gemacht.
Die "neuen" verwaisten Dateien solltem im ACP markiert und gelöscht werden können:
Miriam hat geschrieben:
  1. gehe ins ACP,
  2. markiere die neu eingetragenen verwaisten Dateien,
  3. lösche die Dateien im ACP,

Also, es hätte etwas werden können, wenn Deinem Server nicht die Puste (aka Memory) ausgegangen wäre:

Code: Alles auswählen

Fatal error: Out of memory (allocated 38535168) (tried to allocate 44 bytes) in /mnt/webm/e2/82/52133882/htdocs/includes/db/mysqli.php on line 255
36MB sind halt zu wenig gewesen. Schade eigentlich.
Ich habe jetzt also ein weiters Problem: Wie bekomme ich diese 380596 Verwaiste Dateianhänge wieder weg?
Wo kommen denn diese zig Dateien jetzt her?

Re: Vagabundierende Dateien im files-Ordner

Verfasst: 07.07.2013 16:40
von trapperjoe
Moin Miriam


trapperjoe hat geschrieben: Bei Datei1 erhalte ich auf dem Monitor eine Auflistung aller Dateien des files-Ordners mit 1 Datei pro Zeile.
Im ACP erhalte ich eine Maske mit Überbreite, rechts-links scrollen ist nicht möglich, folglich kann ich nicht jedes Feld sehen. Sichtbar für mich ist nur der Dateiname und ein immer gleichlautendes Datum.
Die Betonung sollte auf "aller Dateien" liegen. Also ein kompletttes Abbild des files-Ordners! Im ACP habe ich nur Stichproben gemacht, schien aber so, daß die gleichen Dateien gelistet waren.
Miriam hat geschrieben: Wo kommen denn diese zig Dateien jetzt her?
ganz einfach: ich wollte rausfinden was beim Aufruf deines Scripts passiert. Es erhöht sich jedesmal die Zahl der verwaisten Dateien genau um die Anzahl der Dateien im files-Ordner.

Damit konnte ich deine Anweisung in Punkt 6. nicht mehr befolgen. der Ordner wäre wohl anschließend leer gewesen?

mfG
trapperjoe