[3.3] Skript um Forums-Protokolle gezielter teilweise zu löschen

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Antworten
Benutzeravatar
HaioPaio
Mitglied
Beiträge: 290
Registriert: 05.11.2017 21:42

[3.3] Skript um Forums-Protokolle gezielter teilweise zu löschen

Beitrag von HaioPaio »

Die Forums-Protokolle im ACP können ja nur über das selektieren der Kästchen gelöscht werden, oder alles auf einmal.
Wenn ich aber die Einträge der letzten 4 Wochen behalten möchte, und ein Protokoll mit 126 Seiten habe, muss ich jede Seite einzeln händisch bearbeiten.
Ich hätte gerne ein Skript das ich in phpMyAdmin ausführen kann und das alle Einträge in einem Protokoll die älter als ein Stichtag sind, auf eine Schlag löscht.
Ich müsste also manuell angeben: Betroffenes Protokoll, betroffene Foren oder Alle, Stichtag.

Hätte jemand Lust mir hier aufs Pferd zu helfen. Ich weiß zu wenig um das alleine zu schaffen.
www.der-räuchertreff.de phpbb 3.3.7 php 7.4
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: [3.3] Skript um Forums-Protokolle gezielter teilweise zu löschen

Beitrag von Dr.Death »

DELETE FROM phpbb_log WHERE

log_type=

0 = Admin Log
1 = Moderator Log
2 = Fehler Log
3 = Benutzer Log

AND

log_time < gewünschter UTC Timestamp.


Du müsstest also den aktuellen Timestamp ermitteln, davon 4 Wochen abziehen und einsetzen.

Beispiel: https://www.epochconverter.com
The current Unix epoch time is 1612897582

Dort den aktuellen Monat um 1 verringern (oder die Anzahl vom Sekunden vom jetzigen Timestamp rechnerisch abziehen)
Saturday, 9. January 2021 19:05:52
Human date to Timestamp
Epoch timestamp: 1610219152

Sähe dann ggf. so aus um das Admin Protokoll zu löschen.... (lösche alle vom log_type 0 wenn der Eintrag älter als das Datum Saturday, 9. January 2021 19:05:52 (Timestamp = 1610219152) ist:

DELETE FROM phpbb_log WHERE log_type = 0 AND log_time < 1610219152

Wenn du alle Logfiles älter als das gewünschte Datum löschen möchtest:
DELETE FROM phpbb_log WHERE log_time < 1610219152


Aber wie immer gilt bei SQL Statements aus dritter Hand: Mach vorher ein Datenbank Backup
Benutzeravatar
HaioPaio
Mitglied
Beiträge: 290
Registriert: 05.11.2017 21:42

Re: [3.3] Skript um Forums-Protokolle gezielter teilweise zu löschen

Beitrag von HaioPaio »

Doc
Vielen Dank für die schnelle Hilfe. Damit komme ich zurecht.
www.der-räuchertreff.de phpbb 3.3.7 php 7.4
Antworten

Zurück zu „Support-Forum“