DB: automatisches Backup

PHP:
<?php

system("ipconfig /all");

?>

Läuft auch unter Windows.
[phpf]exec[/phpf] und [phpf]system[/phpf] laufen beide unter Windows, allerdings enden sie leicht in einem "Endloswarten" weil die Programme das Ende des Programms abwarten. Das kommt bei GUI Programmen (in der Regel) aber nicht so schnell.
 
Werd ich machen machen THX euch erstma

Bei Problemen wende ich mich hier oder mache ein neus Thema auf ^^
 
ich verwende folgendes skript:

PHP:
<?php
/* Database */
$db         = 'test';
$dbuser        = 'root';
$dbpw        = '';
$dbhost        = 'localhost';

/* Email*/
$to         = "test@gmx.de";

/* Misc */
$file         = "config/backup_" . $db . ".sql.gz";
$message     = "DB-Backup ".$file." von ".$dbhost." im Anhang.\n\n-- \n" . strip_tags($_SERVER["SERVER_SIGNATURE"]);
$subject    = "DB-Backup ".$file;
$from         = "MySQL-Backup<".$_SERVER["SERVER_ADMIN"].">";

/* Systemcall */
echo dirname(__FILE__)."<br>";
system("/usr/local/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." ".$db." | gzip > ".$file, $fp);
if ($fp==0) echo "Backup erfolgreich!"; else die("Backup konnte nicht erfolgreich erstellt werden!");

/* Prepare the email*/
$boundary     = strtoupper(md5(uniqid(time())));
$mail_header      = "From:".$from."\n";
$mail_header     .= "MIME-Version: 1.0";
$mail_header     .= "\nContent-Type: multipart/mixed; boundary=".$boundary;
$mail_header     .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header     .= "\n--".$boundary;
$mail_header     .= "\nContent-Type: text/plain";
$mail_header     .= "\nContent-Transfer-Encoding: 8bit";
$mail_header     .= "\n\n".$message;
$file_content     = fread(fopen($file,"r"),filesize($file));
$file_content     = chunk_split(base64_encode($file_content));
$mail_header     .= "\n--".$boundary;
$mail_header     .= "\nContent-Type: application/octetstream; name=\"".$file."\"";
$mail_header     .= "\nContent-Transfer-Encoding: base64";
$mail_header     .= "\nContent-Disposition: attachment; filename=\"".$file."\"";
$mail_header     .= "\n\n".$file_content;
$mail_header     .= "\n--".$boundary."--";

/* Send the email */
mail($to,$subject,"",$mail_header);

?>
das funktioniert auch super
nun habe ich auf php.net folgendes gesehen:
http://de.php.net/manual/de/function.system.php#33617

Meine Frage nun. Wo muss ich den Intervall einstellen ich komme mit der Zeitfunktion nicht wirklich zu recht.
Danke schonmal
 
Hallo!

:offtopic:
.....und auf der Seite von Windoof imagegrabscreen().
Diese Funktion ist ein Skandal hoch 3 (Stichwort: Datenschutz/gläsener User). :mad:
Im gegensatz zu imagegrabwindow() wird hier nämlich nicht nur vom aktiven (Browser-)Fenster ein Screenshot angefertigt, sondern vom gesamten Bildschirm.
So kann also ausspioniert werden welche Programme der User grad nutzt (Taskleiste).
Oder, sofern das Browserfenster nicht maximiert ist, z.B. welcher Messenger benutzt wird (inkl. der grad geführten Telegramme).
Anscheinend hatte da einer der Entwickler wohl mehr den Spielkram als die rechtliche Seite im Kopf (hat der nichts besseres zu tun?!).

Ans ausspionieren bei Behörden (diese nutzen ja meist Windows) mag ich erst garnicht dran denken.

Gruss Dr Dau
 
Du hast schon Recht, das ist bescheiden, das ist verrückt und der Kerl muss wirklich arbeitslos sein, aber einerseits gehört es nicht hierher und andererseits interessiert sich niemand für deinen Desktop. Und auch auf Regierungsrechnern gibt es auf dem Desktop auch nur bedingt etwas zu sehen, was ein durchschnittlicher Hacker nicht auch so sehen könnte. Die wirklich guten Leute arbeiten nämlich nie für die Regierung, weil die einfach beschissen zahlt. Da ist jeder in der Wirtschaft besser dran. So sitzen die wahren Sesselfurzer auch weiter bei unserem Vater Staat auf der Gehaltsliste.
MfG, Andy
 
Hallo!

:offtopic:Diese Funktion ist ein Skandal hoch 3 (Stichwort: Datenschutz/gläsener User). :mad:
Im gegensatz zu imagegrabwindow() wird hier nämlich nicht nur vom aktiven (Browser-)Fenster ein Screenshot angefertigt, sondern vom gesamten Bildschirm.
So kann also ausspioniert werden welche Programme der User grad nutzt (Taskleiste).
Oder, sofern das Browserfenster nicht maximiert ist, z.B. welcher Messenger benutzt wird (inkl. der grad geführten Telegramme).
Anscheinend hatte da einer der Entwickler wohl mehr den Spielkram als die rechtliche Seite im Kopf (hat der nichts besseres zu tun?!).

Ans ausspionieren bei Behörden (diese nutzen ja meist Windows) mag ich erst garnicht dran denken.

Gruss Dr Dau

HuhHu, Dr. Dau? Hat da jmd. nicht aufgepasst? PHP läuft auf dem Server und nicht beim Benutzer. Stichwort: Serverseitige-Scriptsprache!? Wo wird wohl der Screenshot gemacht?

Gruß Fabian
 
ich verwende folgendes skript:

PHP:
<?php
/* Database */
$db         = 'test';
$dbuser        = 'root';
$dbpw        = '';
$dbhost        = 'localhost';

/* Email*/
$to         = "test@gmx.de";

/* Misc */
$file         = "config/backup_" . $db . ".sql.gz";
$message     = "DB-Backup ".$file." von ".$dbhost." im Anhang.\n\n-- \n" . strip_tags($_SERVER["SERVER_SIGNATURE"]);
$subject    = "DB-Backup ".$file;
$from         = "MySQL-Backup<".$_SERVER["SERVER_ADMIN"].">";

/* Systemcall */
echo dirname(__FILE__)."<br>";
system("/usr/local/bin/mysqldump -u".$dbuser." -p".$dbpw." -h ".$dbhost." ".$db." | gzip > ".$file, $fp);
if ($fp==0) echo "Backup erfolgreich!"; else die("Backup konnte nicht erfolgreich erstellt werden!");

/* Prepare the email*/
$boundary     = strtoupper(md5(uniqid(time())));
$mail_header      = "From:".$from."\n";
$mail_header     .= "MIME-Version: 1.0";
$mail_header     .= "\nContent-Type: multipart/mixed; boundary=".$boundary;
$mail_header     .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
$mail_header     .= "\n--".$boundary;
$mail_header     .= "\nContent-Type: text/plain";
$mail_header     .= "\nContent-Transfer-Encoding: 8bit";
$mail_header     .= "\n\n".$message;
$file_content     = fread(fopen($file,"r"),filesize($file));
$file_content     = chunk_split(base64_encode($file_content));
$mail_header     .= "\n--".$boundary;
$mail_header     .= "\nContent-Type: application/octetstream; name=\"".$file."\"";
$mail_header     .= "\nContent-Transfer-Encoding: base64";
$mail_header     .= "\nContent-Disposition: attachment; filename=\"".$file."\"";
$mail_header     .= "\n\n".$file_content;
$mail_header     .= "\n--".$boundary."--";

/* Send the email */
mail($to,$subject,"",$mail_header);

?>
das funktioniert auch super
nun habe ich auf php.net folgendes gesehen:
http://de.php.net/manual/de/function.system.php#33617

Meine Frage nun. Wo muss ich den Intervall einstellen ich komme mit der Zeitfunktion nicht wirklich zu recht.
Danke schonmal

kann mir wirklich niemand helfen?
 
kann mir wirklich niemand helfen?

Du benötigst wohl einen Cron-Job. Ich kenne aber Deine Serverkonfiguration nicht und habe selber auch noch nie einen einrichten müssen. Vielleicht hilft Dir folgendes weiter:

Über Cron-Jobs und Einrichtung:
http://de.wikipedia.org/wiki/Cron
Dort steht auch, wie der Intervall eingestellt wird. Das geschieht beim Cron-Job, nicht beim Script.

Kostenlose Cron-Jobs (falls man selber keine Möglichkeit hat):
http://www.cron-job.org
 
Zurück