Ausgabe per mail versenden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    OK...

    PHP-Code:
    <?php 
    set_time_limit
    (100);    
    $time microtime(true); 
    $start $time;    
    //Mysqlconnection : 
    $h 'localhost'
    $u 'root'
    $p 'xxx';  
    $dummy_db 'mysql'
    /**/  
    $msg "DB Optimierung\n\n";
    $db_link mysql_connect($h$u$p) or die("Cannot connect do server");  
    mysql_select_db($dummy_db) or die("Cannot select the DB");
    while (
    $rec mysql_fetch_array($res)){ 
        
    $dbname $rec[0]; 
        
    $msg .= "DB : $db_name\n"
        
    $sql "SHOW TABLE STATUS FROM $db_name";
        
    $res mysql_query($sql) or die('Query : ' mysql_error()); 
    while (
    $rec mysql_fetch_array($res)){ 
        
    $msg .= sprintf("%30s wurde optimiert\n"$rec['Name']); 
        if (
    $rec['Data_free'] > 0){ 
            
    $tbl $rec['Name']; 
            
    $sql "OPTIMIZE TABLE $tbl";
            
    mysql_db_query($sql) or die(mysql_error()); 
            } 
        }
    }
    $time microtime(true);   
    $finish $time;   
    $total_time round(($finish $start), 6);  
    $msg .= "Parsed in $total_time secs\n\n"
    echo 
    nl2br($msg);
    $empf 'empfaenger@mail.com';
    $betreff "Optimierungsstatistik";
    mail($empf$betreff$msg);
    ?>

    Kommentar


    • #17
      Ähm, du überscheibst $res...

      OffTopic:
      Hättest du den Code vernünftig eingerückt, würde das auch schneller auffallen...

      Kommentar


      • #18
        wie jetzt, verstehe ich nicht, wo genau überschreibe ich $res ???

        Kommentar


        • #19
          Stimmt, ich korrigiere mich. Irrsinnigerweise definierst du $res das erste mal gar nicht.

          OffTopic:
          Wäre dir natürlich aufgefallen, wenn du das error-reporting anschaltest, aber ich bin es leid, dauernd auf die Regeln zu verweisen.

          Kommentar


          • #20
            Du hast vermutlich meine nachträglichen Korrekturen n icht beachtet.

            Aber ich glaube, ich hab etwas zuviel herausgekürzt, weil ich deinen Einganspost nicht genau gelesen oder verstanden habe. Dau willst alle Tabellen auf allen Datenbanken auf deinem Server durchgehen. Dann müssen wir das wieder ändern. Ausserdem hat TobiaZ richtigerweise festgestellt, dass die Resourcen überschrieben werden. Korrigierte Version:
            PHP-Code:
            <?php 
            set_time_limit
            (100);    
            $time microtime(true); 
            $start $time;    
            //Mysqlconnection : 
            $h 'localhost'
            $u 'root'
            $p 'xxx'

            $msg "DB Optimierung\n\n";
            $db_link mysql_connect($h$u$p) or die("Cannot connect do server");  
            $sql1 "SHOW DATABASES";
            $res1 mysql_query($sql1) or die("No databses found");
            while(list(
            $db) = mysql_fetch_row($res1)){
                
            mysql_select_db($db) or die("Cannot select the DB $db");
                
            $msg .= "DB : $db\n"
                
            $sql2 "SHOW TABLE STATUS FROM $db";
                
            $res2 mysql_query($sql2) or die('Query : ' mysql_error()); 
                while (
            $rec mysql_fetch_array($res2)){ 
                    
            $msg .= sprintf("%30s wurde optimiert\n"''$rec['Name']); 
                    if (
            $rec['Data_free'] > 0){ 
                        
            $tbl $rec['Name']; 
                        
            $sql3 "OPTIMIZE TABLE $tbl";
                        
            mysql_query($sql3) or die(mysql_error()); 
                    } 
                }
            }
            $time microtime(true);   
            $finish $time;   
            $total_time round(($finish $start), 6);  
            $msg .= "\nParsed in $total_time secs\n\n"
            echo 
            nl2br($msg);
            $empf 'empfaenger@mail.com';
            $betreff "Optimierungsstatistik";
            mail($empf$betreff$msg);
            ?>
            Zuletzt geändert von H2O; 23.07.2008, 13:16.
            Gruss
            H2O

            Kommentar


            • #21
              @h2o: Da sieht man mal wieder, wozu das reinstellen von "fertigem" Code verführt...

              Kommentar


              • #22
                Werde ich gleich mal test, melde mich dann.

                Vielen Dank euch beiden!!!

                p.s.: Das mit den Regeln gebe ich zu, habe die überhaupt nicht gelesen. Bin neu hier und wollte gleich ans Werk. War wohl zu viel des Guten

                Kommentar


                • #23
                  So hab jetzt nochmal getestet und alles klappt wunderbar. Sowohl die Statistiken als auch die mail sind sichtbar bzw. kommt an!

                  Vielen Dank für die Hilfe.

                  Gruss

                  Kommentar


                  • #24
                    Absender der mail hinzufügen

                    Hi,
                    ich hab da nochmal eine Frage zwecks Mailversendung. Das script läuft fehlerfrei und wird auch per mail versendet. Es gibt also keinen Fehler. Es handelt sich mehr um eine Schönheitsoperation. Wie kann ich innerhalb des scriptes den Absender noch mit einbinden. Da ich 3 mysql server habe, hätte ich auch gerne als absender einfach nur den Namen des Servers sichtbar. Ist das möglich?

                    Danke und Gruss

                    Kommentar


                    • #25
                      mail

                      Kommentar


                      • #26
                        Sorry
                        Danke für den Hinweis.

                        gruss

                        Kommentar


                        • #27
                          Klasse

                          ...vielen Dank nochmal für den hinweis. Hab es hinbekommen.

                          Viele Grüsse

                          Kommentar

                          Lädt...
                          X