PHPee.com PHP development forum
Datenbank entschlacken
Goto page 1, 2  Next
 
Post new topic   Reply to topic    phpee.com Forum Index -> PPhlogger Support
View previous topic :: View next topic  
Author Message
Markus Howeihe



Joined: 15 Nov 2003
Posts: 11

PostPosted: Tue Mar 12, 2002 10:50 pm    Post subject: Datenbank entschlacken Reply with quote
Hallo liebe Leute,
ich habe mal zwei Fragen zur Datenbank. Meine Tables die mit dem Logger zu tun haben, sind inzwischen ca. 3 MB gross. In naher Zukunft möchte ich diese mal bereinigen um Platz zu sparen. (Beschränkung bei Puretec ist 10 MB). Welche Einstellungen muss ich vornehmen um die Logs aus der Datenbank zu bekommen? Und die wichtigere Frage ist, welche Statistik Daten bleiben denn wenigstens in der Darstellung der Grössenordnung erhalten?
Ich erkläre das mal. Wenn ich jetzt sage ich mal 10.000 Logs lösche, ist es dann möglich in der Statistik wenigstens die Anzahl der bis jetzt gezählten Seitenaufrufe (pro Tag) noch darzustellen? Oder sind die dann auch bei Null? Ich meine, es wäre schön, wenn man zwar die Logs löscht, aber die Zähler (z.B. Seitenaufrufe pro Tag oder Besucher gestern usw.) immer noch die bis dato gezählten Werte enthalten.
Ist das möglich?
Vielen Dank,
Markus
Back to top
View user's profile Send private message Visit poster's website
Carsten Albrecht



Joined: 15 Nov 2003
Posts: 990

PostPosted: Wed Mar 13, 2002 1:40 am    Post subject: Re: Datenbank entschlacken Reply with quote
einige der stats werden dauerhaft gespeichert, die meisten aber dynamisch aus den vorhandenen logs generiert.
wenn du also logs löschst oder ausrotierst (indem du im Setup beispielsweise sagst es werden nur 5000 logs gespeichert oder die logs nur für die letzten 35 tage aufbewahrt) dann werden die meisten stats auch nur auf die noch in der datenbank vorhandenen logeinträge bezogen.
ich hab das beispielsweise so geregelt daß ich per cronjob zum monatsende alle logs löschen und die user ne automatische statistik über den vormonat erhalten - so startet jede rmonat mit ner leeren sauberen datenbank.

[%sig%]
Back to top
View user's profile Send private message
Markus Howeihe



Joined: 15 Nov 2003
Posts: 11

PostPosted: Wed Mar 13, 2002 9:36 am    Post subject: Re: Datenbank entschlacken Reply with quote
Das finde ich schade, dass das nur Datenbank bezogen gespeichert und angezeigt wird. Ich denke, das wäre doch nicht allzu schwierig noch ein Table anzulegen und dort wenigistens - unabhängig von den vorhandenen Logs - nochmal einfach die Zählerstände zu speichern. Ich kenn mich leider nicht so mit php aus, also steinigt mich nicht.
Es ist nur ärgerlich, wenn ich eine Einstellung mit beispielsweise 40 Tagen mache und plötzlich gehen die Zählerstände nach unten. Der User der das sieht (vielleicht zum ersten mal auf der Page) kann das ja nicht nachvollziehen.
Oder sehe ich das falsch?
Danke schonmal.
markus
Back to top
View user's profile Send private message Visit poster's website
Carsten Albrecht



Joined: 15 Nov 2003
Posts: 990

PostPosted: Wed Mar 13, 2002 1:22 pm    Post subject: Re: Datenbank entschlacken Reply with quote
doch, es ist ein performance-drawback, und zwar nicht zu knapp.
denk doch mal nach - pphlogger speichert mit jedem hit mehr als 20 auswertungen - wenn die alle nochmals in einem speziellen table aktualisiert werden müßten, wären das nochmals 20 weitere sql-aufrufe mit jedem treffer.
außerdem haste damit ja jeweils nur die gesamtwerte, nicht aber die statistiken, nutzt dir also auch nix.
wenn du meinst du müßtest es so haben, bau dir deinen pphlogger so um, viel spaß, aber denk dran daß du damit auf jeden fall jeglichen anspruch auf support verlierst.

meine kunden leben hervorragend mit meiner lösung aus meinem vorigen post, wieso sollten es deine also nicht tun?

[%sig%]
Back to top
View user's profile Send private message
Markus Howeihe



Joined: 15 Nov 2003
Posts: 11

PostPosted: Wed Mar 13, 2002 1:35 pm    Post subject: Re: Datenbank entschlacken Reply with quote
Hätte ich nicht gedacht, dass es so aufwändig ist. Wie gesagt, ich kenne mich mit php nicht sonderlich aus. Ich dachte man lässt nur ein Zähler hochzählen, ohne die eigentlich Daten nochmal zu speichern. Aber es ist wohl nicht so einfach...
Stellst Du Deine Lösung zur öffentlichen Verfügung? Wahrscheinlich nicht. Cron Jobs werden bei mir zwar nicht angeboten, jedoch einmal im Monat ein Script von Hand zu starten, sollte nicht das Problem sein.
Bin gespannt.
Markus
Back to top
View user's profile Send private message Visit poster's website
Carsten Albrecht



Joined: 15 Nov 2003
Posts: 990

PostPosted: Wed Mar 13, 2002 5:30 pm    Post subject: Re: Datenbank entschlacken Reply with quote
Ich verwende das folgende Skript, das ich in meinem /admin/-Ordner abgelegt habe und manuell aufrufen kann oder halt per Cronjob:


(0);

if(!defined('NO_SESS')) define('NO_SESS', 1);
$rel_path = "../";
include $rel_path."main_location.inc";

echo"

Lösche die Logs aller Kunden

";

$rowcnt = 0;
$sql = "SELECT id FROM ".$tbl_users." WHERE conf ='Y' AND del_usr='N'";

$res = mysql_query($sql);
while ($row = ay($res)) {
$id = $row['id'];
$sql = "DELETE FROM ".$id."_logs";
$res = mysql_query($sql);
$rowcnt++;
}
?>

[%sig%]

Back to top
View user's profile Send private message
Markus Howeihe



Joined: 15 Nov 2003
Posts: 11

PostPosted: Thu Mar 14, 2002 9:05 am    Post subject: Re: Datenbank entschlacken Reply with quote
Ach so.
Und was passiert dann genau? Werden einfach alle Log gelöscht? Du hast dochmal was von einem Excel Export geschrieben...
Sorry, wenn ich Dir so auf die Nerven gehe!
Markus
Back to top
View user's profile Send private message Visit poster's website
Carsten Albrecht



Joined: 15 Nov 2003
Posts: 990

PostPosted: Thu Mar 14, 2002 9:40 am    Post subject: Re: Datenbank entschlacken Reply with quote
Der Excel Export ist an sich billig:

function csv_export($id) { // bündelt die Funktionen zum kompletten Excelexport

$monat = date("mY");
$filename = $id."-".$monat.".csv";
$filepath = "/path/to/the/saved/counterlogs/"; // Dateinamen und -pfad generieren
$fp = $filepath.$filename;
$tbl_logs = $id."_logs"; // Table-Name zusammenbauen

$sql = "SELECT * INTO OUTFILE "".$fp;
$sql .= "" FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' from ".$tbl_logs;
$res = mysql_qry($sql);
}

Den mußt du nur noch einbinden - Voraussetzung für einwandfreie Funktion dieses Codes ist eine aktuelle MySQL-Version!

[%sig%]
Back to top
View user's profile Send private message
Manuela
Guest





PostPosted: Tue Mar 19, 2002 7:06 pm    Post subject: Re: Datenbank entschlacken Reply with quote
mhhh, leider muß ich mich etwas outen, aber wo binde ich die beiden Scripts ein, S O R R Y für die Dumme Frage ?!?!?!

Gruß Ela
Back to top
Manuela
Guest





PostPosted: Tue Mar 19, 2002 10:34 pm    Post subject: Re: Datenbank entschlacken Reply with quote
Ok habe diese einfach im Admin-Menü eingebunden, also der Script zum aufräumen hat gefunzt !

LEIDER VERGESSEN EINE ABFRAGE EIN ZU BAUEN ;-)

Nun isse schlanker.

Aber dat zweite verstehe ich nicht, denn die Tabellen werden nicht angelegt, was mache ich falsch, den die Idee ist echt super von Dir Carsten :-)

Ich habe auch dieses Script im Admin-Menü niedergelegt und das Verzeichnis für die Backupdateien angegeben aber es bleibt leer.

Für Deine Hilfe wäre ich sehr dankbar !

Gruß Ela
Back to top
Carsten Albrecht



Joined: 15 Nov 2003
Posts: 990

PostPosted: Wed Mar 20, 2002 12:00 am    Post subject: Re: Datenbank entschlacken Reply with quote
hmm...
schwierig....

also das ding in den admin-bereich zu legen war schonmal goldrichtig, da liegt das teil bei mir auch als einzelne seite und wird vom admin-menü per link und sicherheitsabfrage erreicht ,-)

die funktion ist ziemlich simpel und dämlich, um ehrlich zu sein nicht gerade der eleganteste code den ich programmiert habe ,-)

also wenn nur dateien mit 0 byte angelegt werden sollten, findet das skript in den tabellen jeweils keine einträge mit passendem timestamp.
wenn überhaupt keine backup-files erzeugt werden, stimmt deine pfadangabe zum backup-verzeichnis nicht.

ich habe auf meinem server auch ziemlich frickeln müssen, bis das bei mir richtig lief, anscheinend gibts da wohl mal wieder (grmpf Sad ) unterschiede von server zu server, ob man relative oder absolute pfade nehmen muß, oder ob auch eine URL als speicherort genannt werden kann etc.

tut mir leid daß ich dir nicht damit helfen kann, daß ich dir jetzt exakt sagen könnte "mach das und tu das und dann geht das", aber da ich deinen server nicht kenne kann ich nur diesen relativ allgemein gehaltenen ratschlag geben.

[%sig%]
Back to top
View user's profile Send private message
Manuela
Guest





PostPosted: Wed Mar 20, 2002 2:59 pm    Post subject: Re: Datenbank entschlacken Reply with quote
Trotzdem danke, werde dat mal mit einen abosluten Pfad testen :-)

Gruß Ela
Back to top
Manuela
Guest





PostPosted: Thu Mar 21, 2002 12:05 am    Post subject: Schade ich kriegs nicht hin Reply with quote
Irgendwie schade, denn ich bekomme es einfach nicht hin.

Jetzt habe ich alle Pfadformate getestet und er zeigt mir hinterher eine leere Seite an ( dat wäre ja o.k. ) aber es sind keinerlei Daten im Zielverzeichnis vorhanden.

Verlauf :

Scriptaufruf im Admin-Center eingebettet und eine seperate Datei erstellt mit dem Namen admin8.php und folgenden Inhalt :

function csv_export($id) { // bündelt die Funktionen zum kompletten Excelexport
$monat = date("mY");
$filename = $id."-".$monat.".csv";
$filepath = "/html/pphlogger/admin/counterlogs"; // Dateinamen und -pfad generieren
$fp = $filepath.$filename;
$tbl_logs = $id."_logs"; // Table-Name zusammenbauen

$sql = "SELECT * INTO OUTFILE "".$fp;
$sql .= "" FIELDS TERMINATED BY ',' LINES TERMINATED BY 'n' from ".$tbl_logs;
$res = mysql_qry($sql);
}
?>

Vielleicht wäre solch eine Funktion ja für die neue Version ein Thema, denn da kann man ja die Pfadanngabe über die Config steuern :-)

Also weiter FETTE DB-Tabellen aufbauen, trotzdem immer wieder Dank !

Gruß Ela
Back to top
Carsten Albrecht



Joined: 15 Nov 2003
Posts: 990

PostPosted: Thu Mar 21, 2002 8:32 am    Post subject: Re: Schade ich kriegs nicht hin Reply with quote
Mom, da fällt mir was ein:

Hat das Verzeichnis $filepath = "/html/pphlogger/admin/counterlogs" schreibrechte von dir bekommen?

Du mußt es auf chmod 777 setzen, damit die logs geschrieben werden können - PHP bricht NICHT mit einer Fehlermeldung ab, wenn es eine Datei nicht schreiben kann weil ihm die Rechte dazu fehlen!

[%sig%]
Back to top
View user's profile Send private message
Manuela
Guest





PostPosted: Thu Mar 21, 2002 9:52 pm    Post subject: Re: Schade ich kriegs nicht hin Reply with quote
Ne daran habe ich von Anfang an gedacht, ich meine ich habe zwar nicht viel Ahnung von SQL in zusammenhang mit PHP ( das geht inzwischen ), deshalb habe ich originalscript gepostet, denn ich kann nicht feststellen wo in diesem Script eine Verbindung zu Datenbank hergestellt wird.

Mmhhh ?

Gruß Ela
Back to top
Post new topic   Reply to topic    phpee.com Forum Index -> PPhlogger Support All times are GMT + 1 Hour
Goto page 1, 2  Next
Page 1 of 2

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB 2.0.8
Theme design based on Team 101 Designs, modified by Philip Iezzi