| Author |
Message |
fabs
knows MySQLDumper

Joined: 14 May 2007
Posts: 7

|
Posted:
2007-05-14, 14:52 Hilfe um php Skript zu modifizieren |
  |
Hi Leute!
Ichr seid doch hier die Backup-Skript Experten nehm ich an...
Könntet ihr mir helfen das folgende Skript so zu modifizieren, dass es
- die Backupdateie in der EMail optional mit verschickt
und
- checkt wieviele Dateien im Verzeichnis liegen, um immer nur die letzten 10 ABckups zu behalten und den Rest löschen zu lassen, falls das Skript über Cronjob läuft
und
- mehrere Datenbanken mit diesem einen Skript sichern lassen
Vielen
Dank
Fabian Metzner
|
|
  |
 |
Anzeigen
|
Posted:
Anzeigen |
 |
|
| |
 |
DSB
Developer


Age: 41
Joined: 30 Apr 2004
Posts: 16070
Location: Reichenberg bei Würzburg

|
Posted:
2007-05-14, 16:29 (No subject) |
  |
???????
Hast Du Dir die Optionen mal angesehen?
Das kann der Dumper alles.
_________________ Gruß / Greetings, DSB
Teigwaren heißen Teigwaren, weil sie Teig waren.
Diejenigen, die lautstark darüber diskutieren, warum es nicht geht, mögen bitte jene nicht stören, die es gerade tun.
|
|
    |
 |
kahuna
uses MSD regulary


Age: 22
Joined: 12 Dec 2006
Posts: 28
Location: Stäfa

|
Posted:
2007-05-14, 18:22 (No subject) |
  |
Ist fast ein bisschen Forsch, dass du hier nachfragst, wie man die "Probleme" löst, die durch den Dumper eigentlich schon behoben werden . Abgesehen davon könntest du den Quellcode analysieren, der Dumper ist ja OpenSource.
_________________ **The best things in life are free**
Lend your ears to music, open your eyes to painting and...stop thinking! Just ask yourself whether the work has enabled you to 'walk about' into
a hitherto unkown world. If the answer is yes, what more do you want?
|
|
    |
 |
fabs
knows MySQLDumper

Joined: 14 May 2007
Posts: 7

|
Posted:
2007-05-15, 00:09 (No subject) |
  |
Der Dumper funzt aber eben nicht als CronJob, da das Perl nicht lange genug läuft und da gibt es noch ein Skript direkt von all-inkl.com welches aber nicht so komfortabel und feature reich ist. Und da die Leute hier in diesem Forum jeden Tag mit Backup-Skripten zu tun haben und selber ein tolles entwickelt haben dachte ich es wär einfach den entsprechenden Code einfach hier zu pasten, damit ich es dann in das Skript einbaue....
Aber es ist ja logisch, dass ihr mich nicht verstehen könnt wenn ich Idiot vergesse, das Skript, das ich meine auch noch zu pasten
Also hier das Skript, für das ich die im ersten Post genannten Funktionen bräuchte... Wenn das jemand ohne viel Zeitaufwand für mich lösen könnte wär es schön. Wenn es nicht so einfach ist, sagt mir einfach Bescheid, dann versuch ich mich selber in das Thema einzuarbeiten...
Dank schon mal...
Fabs
<?php
######## einstellungen #############################################
$db_name = "IhreDatenBank";
$db_passwd = "IhrDatenBankPasswort";
$downloadlink_erstellen = "ja";
$bestaetigungsmail_senden = "ja";
$bestaetigungsmail_adresse = "IhreMailAdresse";
$bestaetigungsmail_betreff = "[BACKUP] Ihr Backupscript";
$sql_file = "dump_" . $db_name . "_" . date('Ymd_Hi') . ".sql";
####################################################################
### daten überprüfen
if ( $db_name == "IhreDatenBank" or $db_passwd == "IhrDatenBankPasswort" )
{
die("FEHLER: Sie müssen zunächst Ihre Datenbankdaten im Script eingeben!");
}
if ( file_exists($sql_file) or file_exists($sql_file . ".gz") )
{
die("FEHLER: Das zu erstellende Dump existiert bereits!");
}
## dump erstellen
exec("mysqldump -u $db_name -p$db_passwd --quick --allow-keywords --add-drop-table --complete-insert --quote-names $db_name >$sql_file");
exec("gzip $sql_file");
### größe ermitteln
$datei = $sql_file . ".gz";
$size = filesize($datei);
$i = 0;
while ( $size > 1024 )
{
$i++;
$size = $size / 1024;
}
$fileSizeNames = array(" Bytes", " KiloBytes", " MegaBytes", " GigaBytes", " TerraBytes");
$size = round($size,2);
$size = str_replace(".", ",", $size);
$groesse = "$size $fileSizeNames[$i]";
### nachricht erstellen
$message = "Ihr Backup der Datenbank <b>" . $db_name . "</b> wurde durchgeführt.<br>";
$message .= "Die Größe des erstellten Dumps beträgt <b>" . $groesse . "</b>.<br>";
if ($downloadlink_erstellen == "yes" or $downloadlink_erstellen == "ja" or $downloadlink_erstellen == "1")
{
$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$link = str_replace(basename(__FILE__),$datei,$link);
$message .= "Downloadlink: <a href='" . $link . "'>" . $datei . "</a>";
}
## nachricht ausgeben
echo $message;
### mail versenden
$message = str_replace("<br>", "\r\n", $message);
$message = str_replace("<b>", "", $message);
$message = str_replace("</b>", "", $message);
if ($bestaetigungsmail_senden == "yes" or $bestaetigungsmail_senden == "ja" or $bestaetigungsmail_senden == "1")
{
if(!preg_match( '/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-]+)+/' , $bestaetigungsmail_adresse))
{
echo "<br>FEHLER: Mail konnte nicht versendet werden, da die Adresse ungültig ist!";
}
else
{
mail($bestaetigungsmail_adresse, $bestaetigungsmail_betreff,
$message,"From: backupscript@{$_SERVER['SERVER_NAME']}\r\n" . "Reply-To: backupscript@{$_SERVER['SERVER_NAME']}\r\n")
or die("FEHLER: Mail konnte wegen eines unbekannten Fehlers nicht versendet werden");
echo "<br>Bestätigungsmail wurde erfolgreich versandt!";
}
}
?>
|
|
  |
 |
Kevin
Moderator


Age: 37
Joined: 12 Nov 2006
Posts: 322
Location: Hamburg

|
Posted:
2007-05-18, 08:47 (No subject) |
  |
Ich verstehe nicht was Du neu erfinden möchtest!?
Das PHP Script, das Du hier gepostet hast, soll bei All-inkl als Cronjob laufen, oder was möchtest Du uns vertellen?
Wenn Du das Backup via PHP händisch anschmeißt, erfüllt der Dumper dir alle Wünsche.
Und für ein automatisches Backup (auch via PHP): Hast Du Dir mal dieses Add-on angeschaut? Das sollte ansonsten Dein Problem erschlagen.
Gruß
Kevin
_________________ "Der Mensch, der bereit ist seine Freiheit aufzugeben um Sicherheit zu gewinnen, wird beides verlieren."
|
|
   |
 |
|
|
CrackerTracker © 2004 - 2012 CBACK.de
Powered by Orion based on phpBB
© 2001, 2002 phpBB Group
CBACK Orion Style based on FI Theme
All times are GMT + 2 Hours
phpBB SEO
|