Ergebnis 1 bis 6 von 6

Thema: db_optimize 2.1 spinnt rum

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moderator
    Registriert seit
    07.07.2006
    Beiträge
    1.370

    db_optimize 2.1 spinnt rum

    Hallo an alle, gerade eben war mein Mailfach wieder mal total überfüllt, weil die User die wegen Inaktivität gesperrt wurden auch die Paidmails aktiviert bekommen haben.

    Diesen Job übernimmt bei mir db_optimize 2.1.

    Heute nun habe ich mir den Cron mal angeschaut, jedoch finde ich dort nicht die Stelle wo eine solche Einstellung gemacht wird.

    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 = '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 ".$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();
     die('Cron erfolgreich gelaufen!');
    ?>
    Vielleicht hatte schon jemand das gleiche Problem und kann mir evtl helfen.

    MfG

  2. #2
    Erfahrener Benutzer Avatar von didith1207
    Registriert seit
    17.09.2006
    Beiträge
    1.580
    wie wäre es wenn du deinen ganzen cron postest?

    villeicht hast ja irgendwo nen wurm drinnen...

  3. #3
    Moderator
    Registriert seit
    07.07.2006
    Beiträge
    1.370
    Habs oben im Hauptpost geändert, wobei eingeschlichen hat sich der Fehler nicht, er besteht schon seit 3 Jahren nur langsam nerft es mich halt extrem.


    Achso, das Einbinden der functions.lib ist es nicht, das sieht so komisch aus weil meine Crons in einem versteckten Ordner tief im VMS Dschungel sind.

    MfG

  4. #4
    Erfahrener Benutzer Avatar von didith1207
    Registriert seit
    17.09.2006
    Beiträge
    1.580
    hmm..also der cron schaut gut aus....

    bei mir wäre ein versenden nicht möglich an gesperrte ich habe diesen code in der adminforce/content/werbesystem/paidmails und paidmails_versenden :

    PHP-Code:
    $empfaenger =  db_query("SELECT e.uid,e.emailadresse FROM 
                                       "
    .$db_prefix."_emaildaten e
                                       LEFT JOIN "
    .$db_prefix."_kontodaten k ON k.uid=e.uid
    WHERE (e.freigabe_fuer = '3' or e.freigabe_fuer = '2') AND k.status=1"
    ); 
    status =1 also an keine anderen wird was versendet

  5. #5
    Moderator
    Registriert seit
    07.07.2006
    Beiträge
    1.370
    Dies ist zumindest schonmal eine Idee das Problem zu umgehen, werde ich mich mal dran probieren das bei mir auch so in etwa Umzusetzen.

    Hat sonst villeicht jemand ne Idee woran es tatsächllich liegen könnte?

    MfG

  6. #6
    Erfahrener Benutzer Avatar von jpwfour
    Registriert seit
    06.02.2008
    Beiträge
    3.717
    Hm, irgendwo in eimem Cron oder sonstwo muss das ja aktiviert werden, ich würd einfach den Namen der Tabelle wo das gespeichert wird in 'ne Suche im ganzen Projekt (also allen Dateien) eingeben, dann alle Stellen (soviele solltens ja nicht sein) durchschaun wo da was geändert wird.


    Können heut die meisten Texteditoren schon, Suchen in mehreren Dateien, bzw. Windows macht das afaik auch über die normale Suche?
    Kill one man, and you are a murderer.
    Kill millions of men, and you are a conqueror.
    Kill them all, and you are a god.
    - Jean Rostand, Thoughts of a Biologist (1939)

Ähnliche Themen

  1. db_optimize v2.1
    Von purzel791 im Forum Support zu Addons & Erweiterungen
    Antworten: 5
    Letzter Beitrag: 25.02.2010, 22:26
  2. Automailer Spinnt
    Von Lachi im Forum Support zu Addons & Erweiterungen
    Antworten: 19
    Letzter Beitrag: 27.05.2009, 12:49
  3. Menü Rechts spinnt wieder
    Von withdebo im Forum Support zum VMSone
    Antworten: 17
    Letzter Beitrag: 11.12.2008, 20:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •