PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : db_optimize v2.1



purzel791
24.02.2010, 22:46
so geht es nicht woran liegt es die game buchungen bleiben unverändert kann mir jeman helfen??


<?
// VMS-Addon: db_optimize v2.1
// COPYRIGHT BY - SEBASTIAN HOINKES -
// Weitergabe nur unveraendert erlaubt!
//
// Cron zum optimieren aller Tabellen der Datenbank, welche sich in der
// Datenbank befinden, die loeschung unnoetiger und abgelaufener IP-Sperren,
// die Bereinigung der User-Datenbank (sperren inaktiver User), loeschen ungueltiger
// und abgelaufenen Paidmails und deren Eintraege, sowie leeren der Buchungs-Tabelle.

// Am NAchfolgenden Abschnitt ggf. Einstellungen vornehmen
$buchlimit = '20'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '180'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen Inaktivit&auml;t gesperrt! Bitte per PN über Klamm an mich (14781) wenden!'; // Sperrhinweis bei Inaktivitaets-Sperrung!

// Die Funktionsdatei einbinden
@require_once ('../../../../lib/functions.lib.php');
// Zur Datenbank verbinden


// Ungueltige Reload-Sperren loeschen
db_query ("DELETE FROM ´vms_reloads´ WHERE bis <= ".(time()));

// Tabellenanzahl und IDs auslesen
$result = mysql_list_tables($db_base);
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){

// Tabellennamen holen
$table_name = mysql_tablename($result,$x);

// Tabelle optimieren
db_query ("OPTIMIZE TABLE `".$table_name."`");
}

// Zeit setzen
db_query ("UPDATE ".$db_prefix."_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Datenbank optimieren'");

// User, welche ueber 30 Tage inaktiv, sperren mit Hinweis
if($inaktivlimit < 10) { $inaktivlimit = 10; }
db_query ("UPDATE ".$db_prefix."_kontodaten SET status = 2, hinweis = '".$sperrhinweis."' WHERE last_active < ".(time()-($inaktivlimit*86400))." AND last_active > 0");

// Buchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM ".$db_prefix."_buchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));

// GameBuchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM ".$db_prefix."_gamebuchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));



db_close();
die('Cron erfolgreich gelaufen!');
?>

WaechterMedia
25.02.2010, 02:59
Aber die normalen buchungen werden entfernt?
Nutzt du das Gamebuchungsaddon hier aussem Downloadbereich?

purzel791
25.02.2010, 06:08
ja genau das nehme ich habe vergessen habe VMS 1.2.3

WaechterMedia
25.02.2010, 06:58
<?
// VMS-Addon: db_optimize v2.1
// COPYRIGHT BY - SEBASTIAN HOINKES -
// Weitergabe nur unveraendert erlaubt!
//
// Cron zum optimieren aller Tabellen der Datenbank, welche sich in der
// Datenbank befinden, die loeschung unnoetiger und abgelaufener IP-Sperren,
// die Bereinigung der User-Datenbank (sperren inaktiver User), loeschen ungueltiger
// und abgelaufenen Paidmails und deren Eintraege, sowie leeren der Buchungs-Tabelle.

// Am NAchfolgenden Abschnitt ggf. Einstellungen vornehmen
$buchlimit = '20'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '180'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen Inaktivit&auml;t gesperrt! Bitte per PN über Klamm an mich (14781) wenden!'; // Sperrhinweis bei Inaktivitaets-Sperrung!

// Die Funktionsdatei einbinden
@require_once ('../lib/functions.lib.php');
// Zur Datenbank verbinden
db_connect();

// Ungueltige Reload-Sperren loeschen
db_query ("DELETE FROM ´vms_reloads´ WHERE bis <= ".(time()));

// Tabellenanzahl und IDs auslesen
$result = mysql_list_tables($db_base);
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){

// Tabellennamen holen
$table_name = mysql_tablename($result,$x);

// Tabelle optimieren
db_query ("OPTIMIZE TABLE `".$table_name."`");
}

// Zeit setzen
db_query ("UPDATE vms_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Datenbank optimieren'");

// User, welche ueber 30 Tage inaktiv, sperren mit Hinweis
if($inaktivlimit < 10) { $inaktivlimit = 10; }
db_query ("UPDATE vms_kontodaten SET status = 2, hinweis = '".$sperrhinweis."' WHERE last_active < ".(time()-($inaktivlimit*86400))." AND last_active > 0");

// Buchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM vms_buchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));

// GameBuchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM vms_gamebuchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));



db_close();
die('Cron erfolgreich gelaufen!');
?>
Edit: das DB connect fehlte auf jeden fall oder braucht man das nicht mehr bin momentan hallt etwas durchen wind.
Edit2: ich kanns leider nicht testen.
Edit3: die functions war nicht richtig eingebunden aber obs jetzt geht kann ich immer noch nicht sagen

jpwfour
25.02.2010, 12:44
Fürs VMS ab 1.2.1 braucht man ja die functionslib nicht mehr, also:


<?
// VMS-Addon: db_optimize v2.1
// COPYRIGHT BY - SEBASTIAN HOINKES -
// Weitergabe nur unveraendert erlaubt!
//
// Cron zum optimieren aller Tabellen der Datenbank, welche sich in der
// Datenbank befinden, die loeschung unnoetiger und abgelaufener IP-Sperren,
// die Bereinigung der User-Datenbank (sperren inaktiver User), loeschen ungueltiger
// und abgelaufenen Paidmails und deren Eintraege, sowie leeren der Buchungs-Tabelle.

// Am NAchfolgenden Abschnitt ggf. Einstellungen vornehmen
$buchlimit = '20'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '180'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen Inaktivit&auml;t gesperrt! Bitte per PN über Klamm an mich (14781) wenden!'; // Sperrhinweis bei Inaktivitaets-Sperrung!


// Ungueltige Reload-Sperren loeschen
db_query ("DELETE FROM ´vms_reloads´ WHERE bis <= ".(time()));

// Tabellenanzahl und IDs auslesen
$result = mysql_list_tables($db_base);
$menge = mysql_num_rows($result);
for($x=0;$x<$menge;$x++){

// Tabellennamen holen
$table_name = mysql_tablename($result,$x);

// Tabelle optimieren
db_query ("OPTIMIZE TABLE `".$table_name."`");
}

// Zeit setzen
db_query ("UPDATE vms_crons SET laufzeit = '".time()."' WHERE bezeichnung = 'Datenbank optimieren'");

// User, welche ueber 30 Tage inaktiv, sperren mit Hinweis
if($inaktivlimit < 10) { $inaktivlimit = 10; }
db_query ("UPDATE vms_kontodaten SET status = 2, hinweis = '".$sperrhinweis."' WHERE last_active < ".(time()-($inaktivlimit*86400))." AND last_active > 0");

// Buchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM vms_buchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));

// GameBuchungen loeschen aud DB, wenn diese aelter als xx Tage sind
db_query ("DELETE FROM vms_gamebuchungen WHERE buchungszeit < ".(time()-($buchlimit*86400)));


?>

purzel791
25.02.2010, 22:26
danke@all es fuktionier

danke@jpwfour