Hi,
wie der Titel schon sagt, suche ich den Addon "DB_Optimize" für VMS 1.2
Der DB_Optimize aus dem Download-Bereich ist für VMS 1.2 nicht programmiert, zumindest hab ich es so hier im Forum gelesen....
Kann einer weiter helfen ?
Hi,
wie der Titel schon sagt, suche ich den Addon "DB_Optimize" für VMS 1.2
Der DB_Optimize aus dem Download-Bereich ist für VMS 1.2 nicht programmiert, zumindest hab ich es so hier im Forum gelesen....
Kann einer weiter helfen ?
Diese Signatur war zu groß ~cdp~
Meine Antwort: Ach jaaaa ?
Jupp, funktioniert auch mit dem VMS 1.2.
Habe ich selbst bei mir im Einsatz.
Wenn du Hilfe brauchst, meld dich einfach bei mir.
LG,
Roadstar
Danke, habs hinbekommen, eigentlich sollte mir dies klar sein
Diese Signatur war zu groß ~cdp~
Meine Antwort: Ach jaaaa ?
Der Code :
Danke im vorab.PHP-Code:
<?
// 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 = '30'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '30'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen inaktivität gesperrt! Bitte an den Support 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 ".$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)));
// Alle ungueltigen Paidmails und deren Eintraege loeschen
db_query ("DELETE FROM ".$db_prefix."_paidmails_empfaenger WHERE gueltig < ".time());
db_query ("DELETE FROM ".$db_prefix."_paidmails_versendet WHERE gueltig < ".time());
db_close();
echo 'Dieser Cronjob stammt von Sebastian Hoinkes ';
echo '- <a href="http://www.cash4more.de'; echo '" target="_blank">www.Cash4more.de</a><br />';
die('<font color="green">Cron erfolgreich gelaufen!</font>');
?>
also an sich muss man da nicht viel umbauen so wie ich das auf dem erstne blick sehe...da du allerdings jetzt die crons anders aufrufst im vms 1.2 ist das include bzw require und db_connect() unnötig, d.h. probier mal folgendes:
achja, und nächstes mal , versuch doch mal anstatt: geht nicht, zu sagen WAS genau nicht geht fehlermeldung etc. sind immer hilfreich ^^PHP-Code:
<?
// 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 = '10'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '60'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen inaktivität gesperrt! Bitte an den Support 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 ".$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)));
// Alle ungueltigen Paidmails und deren Eintraege loeschen
db_query ("DELETE FROM ".$db_prefix."_paidmails_empfaenger WHERE gueltig < ".time());
db_query ("DELETE FROM ".$db_prefix."_paidmails_versendet WHERE gueltig < ".time());
echo 'Dieser Cronjob stammt von Sebastian Hoinkes ';
echo '- <a href="http://www.cash4more.de'; echo '" target="_blank">www.Cash4more.de</a><br />';
die('<font color="green">Cron erfolgreich gelaufen!</font>');
?>
hi
da du das vms1.2 hast gehe ich davon aus das der DBeintrag auch net klappt.
SQL txt einfügen in DB
Code:INSERT INTO `vms_crons` ( `cron` , `laufzeit` , `datei` , `bezeichnung` ) VALUES ('ext_cron', '0', 'crons/db_optimize.php', 'Datenbank optimieren');
Die datei db_optimize.php ersetzen mit...
jetzt sollte es klappen.PHP-Code:
<?
// 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 = '30'; // Buchungen welche aelter als XX Tage sind, aus Datenbank loeschen.
$inaktivlimit = '30'; // Wenn User laenger als XX Tage inaktiv ist, wird er mit Hinweis gesperrt (Wengier als 10 Tage nicht möglich!).
$sperrhinweis = 'Account wegen inaktivität gesperrt! Bitte an den Support wenden!'; // Sperrhinweis bei Inaktivitaets-Sperrung!
// 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 ".$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)));
// Alle ungueltigen Paidmails und deren Eintraege loeschen
db_query ("DELETE FROM ".$db_prefix."_paidmails_empfaenger WHERE gueltig < ".time());
db_query ("DELETE FROM ".$db_prefix."_paidmails_versendet WHERE gueltig < ".time());
db_close();
echo 'Dieser Cronjob stammt von Sebastian Hoinkes ';
echo '- <a href="http://www.cash4more.de'; echo '" target="_blank">www.Cash4more.de</a><br />';
die('<font color="green">Cron erfolgreich gelaufen!</font>');
?>
Mfg halk
Danke es funktioniert. Hat beim ersten Aufruf zwar eine Weile gedauert (viel Müll zu beseitigen ) aber nun läuft der Cron. Kurioser Weise hat aber die DB Installation schon beim ersten Mal, (auch mit dem Eintrag "intervall") sprich mit der Urfassung, funktioniert.
Allen Danke und ein schönes WE
Vielen Dank Leute,
aber bei mir funkts nur wenn ich das eingebe:
// Zur Datenbank verbinden
@require_once ('../lib/functions.lib.php'); (diese Zeile dazu)
db_connect();
LG Elfenbein