Alle Daten vor einem bestimmten Datum löschen


(heinetz) #1

Hallo Forum,

ich habe in 2010 Piwik installiert, seit dem hin und wieder Updates eingespielt und bin nun bei Version 1.12. Die DB ist mittlerweile 8 GB gross und ich möchte alte Daten löschen. Nun habe ich mittlerweile die Funktion gefunden, mit der man einrichten kann, dass alte Besucher-Logs und generierte Berichte regelmässig automatisch gelöscht werden. Nun möchte ich aber diese Daten nur einmalig bis zu einem bestimmten Tag (konkret alles < 2014) löschen. Den Link “Datenbank jetzt leeren” habe ich an der Stelle auch gefunden und verstehe das so:

Ich nehme Einstellungen für das regelmässige Löschen von Berichten und Besucher-Logs vor und statt diese Einstellungen zu speichern stosse ich den Prozess manuell mit dem Link “Datenbank jetzt leeren” an. Daraufhin wird die Datenbank (sofort) um die in den Einstellungen festgelegten Daten gelöscht. Bspw. sind seit dem 01.01.2014 bis heute 630 tage vergangen, ich gebe ein Logs löschen, die älter als 630 Tage sind, klicke auf den Link. Dann werden sofort sämtliche Besucher-Logs vor 2014 gelöscht.

Was mir nicht ganz klar ist, ist das mit den Berichten:

Auch für die kann ich ein regelmässiges Löschen einstellen und ich stelle mir vor, dass “Datenbank jetzt leeren” die Berichte entsprechend den von mir eingestellten Werten sofort löscht. Hier gebe ich allerdings keine Werte für Tage sondern für Monate ein. Weiterhin habe ich das mit den Berichten so vertanden, dass Piwik diese Berichte regelmässig aus Besucher-Logs generiert.

Um nun alles vor 2014 einmalig zu löschen, würde ich also einstellen, dass Besucher-Logs die älter als 630 Tage sind UND
Berichte, die älter als 24 Monate sind gelöscht werden sollen und das Löschen nun einmalig anstossen.

Dann wurden zwar Berichte die jünger als 01.01.2014 gelöscht, aber die würden beim nächsten Generieren eben neu generiert.

Richtig?

danke für Tipps und

gruss,
heinetz


(Stefan Giehl) #2

Ja. Piwik generiert automatisch angefragte Berichte insofern (noch) Besucher-Logs hierfür vorhanden sind.
Die Besucher-Logs sind aber meist auch die Daten die viel Platz brauchen. Du könntest auch erstmal versuchen nur die Logs zu löschen und die Berichte zu behalten. Evtl bringt dir das schon genug Platzersparnis und du kannst auf die alten Berichte noch (fast uneingeschränkt) zurückgreifen


(heinetz) #3

Danke erstmal für Deinen Tipp.

In meinem Fall geht es tatsächlich darum, alle Daten vor einem bestimmten Datum zu löschen und ich frage mich, wie ich das mit möglichst wenig Aufwand mache.

gruss,
heinetz


(Stefan Giehl) #4

Wenn du Zugriff auf die Konsole hast könnte das hier interessant sein: How do I delete old visitors statistics for a given website and/or date? - Analytics Platform - Matomo


(heinetz) #5

In Piwik 2.14.0 we released a new console command which you can use to delete all visitor log data (including Visits, Actions, Goal conversions, Ecommerce activity).

Von daher ist das leider uninteressant.

Nun habe ich händisch mit phpmyadmin Datensätze und Tabellen gelöscht.

Zuerst die alten Logs vor 01.01.2014:


DELETE piwik_log_visit, piwik_log_link_visit_action
FROM piwik_log_visit INNER JOIN piwik_log_link_visit_action
WHERE piwik_log_visit.idvisit = piwik_log_link_visit_action.idvisit
AND visit_first_action_time <= DATE_SUB(CURDATE(), INTERVAL 635 DAY);
OPTIMIZE TABLE piwik_log_visit, piwik_log_link_visit_action;

Und danach indem ich alle piwik_archive_blob_ und alle piwik_archive_numeric_ bis 2014 gelöscht habe.

Das Ergebnis ist, dass ich keine Daten mehr vor dem 01.01.2014 mehr sehe. Soweit ist das genau das, was ich erreichen wollte.
Was mich allerdings wundert ist, dass sich per DatumsWidget immernoch Datums bis 2010 auswählen lassen. Ich kann aber keine Tabelle finden, in der das drin stehen könnte.

Hat jemand einen Tipp?

gruss,
heinetz


(Stefan Giehl) #6

Ich glaub das ist abhängig vom Zeitpunkt an dem die Website in Piwik erstellt wurd.

Kannst versuchen das Feld ts_created in der Tabelle piwik_site zu manipulieren


#7

Bleiben die Berichte bestehen wenn die Logfiles gelöscht werden, gibt es hier eine Trennung?


(Lukas Winkler) #8

Hallo @Meggi,

Ja, die Berichte (archive) bleiben bestehen, wenn die raw visitor logs gelöscht werden. Aber natürlich können sie nicht mehr neu generiert werden.

Im Zweifelsfall hilft natürlich immer ein Backup.