[TYPO3-german] Script einbauen?

Marco Behnke marco at behnke.biz
Sun Jun 28 20:48:31 CEST 2009


Jochen Graf schrieb:
> Marco Behnke schrieb:
>> Jochen Graf schrieb:
>>   
>>> Hallo,
>>>
>>> ich habe im Internet folgendes Script gefunden, aber ich schaffe es 
>>> nicht, dieses einzubauen
>>>
>>> #####################################################################
>>>
>>> <?php
>>> $mysqlhost = "localhost"; // MySQL-Host angeben
>>> $mysqluser = "root"; // MySQL-User angeben
>>> $mysqlpwd = "**** "; // Passwort angeben
>>>
>>> ###########################################
>>>
>>> $connection = mysql_connect($mysqlhost, $mysqluser, $mysqlpwd);
>>> if (mysql_error()) {
>>> echo "Konnte Datenbankserver nicht anwählen, bitte versuchen Sie es 
>>> später nocheinmal. <!-- ".mysql_error()."//-->";
>>> }
>>>
>>> $db_list = mysql_list_dbs();
>>> $i = 0;
>>> $cnt = mysql_num_rows($db_list);
>>>
>>> echo "<table cellspacing=\"0\" cellpadding=\"0\" width=\"500\" 
>>> align=\"center\">\n";
>>>
>>> while ($i < $cnt) {
>>>
>>> $db = mysql_db_name($db_list, $i);
>>> ###########################################
>>>
>>> mysql_select_db($db, $connection);
>>> $result = mysql_list_tables($db);
>>>
>>> echo "<tr>
>>> <td colspan=\"2\" style=\"font-weight:bold\"><br />Datenbank: <span 
>>> style=\"color:blue\">".$db."</span></td>
>>> </tr>\n";
>>> echo "<tr>\n
>>> <td>Tabelle</td>
>>> <td>Ergebnis</td>\n
>>> </tr>\n";
>>> while ($row = mysql_fetch_row($result)) {
>>>
>>> $sql = "OPTIMIZE TABLE `".$row[0]."`";
>>> $erg = mysql_query($sql, $connection) or die(mysql_error());
>>> $daten= mysql_fetch_array($erg, MYSQL_ASSOC);
>>>
>>> if($daten){
>>>
>>> switch ($daten['Msg_text']) {
>>> case "Table is already up to date":
>>> $color = "#CAF9AE";
>>> break;
>>>
>>> case "OK":
>>> $color = "#63EB66";
>>> break;
>>>
>>> case "The handler for the table doesn't support check/repair":
>>> $color = "#63EB66";
>>> break;
>>>
>>> default:
>>> $color = "#F21C1C";
>>> break;
>>> }
>>>
>>> echo "<tr style=\"background-color:".$color."\">
>>> <td width=\"300\" nowrap>".$row[0]."</td>
>>> <td width=\"200\" nowrap>".$daten['Msg_text']."</td>
>>> </tr>\n";
>>> }
>>> }
>>> ###########################################
>>> $i++;
>>> }
>>> echo "</table>\n";
>>> ?>
>>>
>>> ##############################################################
>>>
>>> Bei diesem Sctipt werden die Überhänge der Dastenbank gelöscht, könnte 
>>> mir bitte jemand einen Tipp geben, wie ich das zum laufen bekommen?
>>>     
>> Installier PHP My Admin, damit kannst Du das machen, ohne ein eigenes 
>> PHP Skript irgendwie als mod unter zu bringen
>>
>>   
>>> In diesem Script würde ich gerne nur zwei Datenbanken einbauen, so wie 
>>> ich das sehe, werden hier alle Datenbanken abgearbeitet.
>>>     
>> Wie viel Erfahrung hast Du mit PHP?
>>
>> Hier wird die Liste aller Datenbanken geholt
>> $db_list = mysql_list_dbs();
>> $i = 0;
>> $cnt = mysql_num_rows($db_list);
>>
>> An dieser Stelle wird eine Schleife über alle DBs gebaut
>> while ($i < $cnt) {
>>    $db = mysql_db_name($db_list, $i);
>>
>>
>>
>> Wenn Du das Skript jetzt nur für 2 Datenbanken ausführen lassen 
>> möchtest, änderst Du die ersten 3 Zeilen um in
>>
>> $db_list = array('Datenbank 1', 'Datenbank 2');
>> $i = 0;
>> $cnt = count($db_list);
>>
>>
>> Empfehlen tue ich das jedoch nicht. Benutze PHP My Admin
>>
>> Nebenbei erwähnt sollte man sich NIEMALS per Superuser (hier root) mit 
>> der Datenbank verbinden.
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>>
>>
>>   
> Hallo Danke,
> 
> also eigentlich fange ich erst an mit php an zu arbeiten.
> Einige Zeilen Code kann ich nachvollziehen.
> 
> Mein Ziel ist es, eine automatisierte Sicherung der Datenbanken 
> durchzuführen, desweiteren sollten die Überhnage vorher gelöscht werden.
> 
> Ich habe hier noch eine Doku gefunden
> http://www.howtoforge.de/howto/mysql-backup-und-wiederherstellung-mit-mysql-zrm-auf-debian-linux/
> 
> Ich werde mir mal meinen Testerver einrichten und verschiedene 
> Lösungswege Testen, dazu sollte ich mich mal mit php etwas vertrauter 
> machen.
> 
> Mit mysqlhotcopy habe ich auch schon mal etwas getestet.
> 
> Alles im allem habe ich nun gesehen, dass das nicht in zwei drei Sätzen 
> zu erklären ist.
> 
> Wenn ich etwas weiter gekommen bin, melde ich mich nochmal
> 
> Vielen Dank
> 
> ps. Für die Typo3 Ordner habe ich bereits ein Sript
> 
> tar cvfz fileadmin_paeps-`date +%Y-%m-%d`.tar.gz fileadmin &&
> tar cvfz  typo3conf_paeps-`date +%Y-%m-%d`.tar.gz  typo3conf &&
> tar cvfz uploads_paeps-`date +%Y-%m-%d`.tar.gz uploads &&
> mv *.tar.gz /root/sicherung/paeps &&

Es ist reichlich unsinnig so seine Datensicherung zu betreiben. Auf 
diesem Wege stellst Du jedesmal eine Vollsicherung an, was früher oder 
später den Plattenplatz an die Wand fährt.

Schau mal lieber bei Google nach inkrementellem Backup.

Und wenn Du sowieso Konsolenzugriff auf Deinem Server hast, dann mach 
bitte eine Datenbanksicherung auch auf diesem Wege (auch hier gibt es 
schlauere Lösungen als ein PHP Skript).

> 
> 
> 
> 
> 
> 



More information about the TYPO3-german mailing list