Guten Tag,
ich wollt bei meinem Server wohl gern ne BackuPfunktion rein machen und zwar so das ich nicht auf andere Dienste, wie ich es grad doch angewiesen bin.
Backupfunktion hab ich, mehr oder weniger geht es mir um die crontabfunktion, da diese bei mir im Plesk wohl nicht funktioniert oder naja am script kann es eigentlich nicht liegen, da wenn man es manuell ausführt funktioniert es, genauso wie bei cronjob.de klappt das alles wunderbar, nur halt wenn ich das von meinem server machen will hauts vorne und hinten nicht hin...
kann mir jemand helfen ?
hier is das script welches ich benutze...
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
// ### EINSTELLUNGEN #############
// ###############################
$user = 'user'; // Name
$pass = 'pass'; // Passwort
$database = 'db'; // zu sichernde Datenbank
$linuxpath = '/pfad/zur/datei/bis/ganz/zum/ende/';
$path = './';// Backup Ordner
$number_of_files = '5'; // mehr als x Dateien löschen (Autodelete)
// ###############################
// checke Backupordnergrösse
function dirsize($dir){
$dirsize=0;
$handle=opendir ($dir);
while (false !== ($file = readdir ($handle))) {
$dirsize+=filesize($dir.$file);
}
closedir($handle);
return $dirsize;
}
// Backupverzeichnis erstellen, falls noch nicht existient!
if (!is_dir($path)) mkdir($path, 0777);
$dh = opendir($path);
while (false !== ($filename = readdir($dh)))
{
if ($filename != "." && $filename != "..") $files_unlink[] = $filename;
}
@rsort($files_unlink);
if (sizeof($files_unlink) >= $number_of_files)
{
for($n=sizeof($files_unlink)-1; $n>=$number_of_files; $n--)
{
unlink($path.$files_unlink[$n]);
}
}
// Backup erstellen
$datei = "networkDB_".date('Y.m.d')."_".date("H:i"); // Dateiname aus Datum und Uhrzeit bilden
$datei .= ".gz";
if (file_exists($datei)) unlink($datei);
$path = str_replace(".", "", $path);
system("/usr/bin/mysqldump -u$user -p$pass -h localhost $database | gzip > ".dirname(__FILE__)."$path/$datei", $fp);
if ($fp==0) $meldung = "Backup erfolgreich! (dacooon Network)"; else $meldung = "Es ist ein Fehler aufgetreten! (dacooon Network)";
//print_r($_SERVER);
if ($meldung == 'OK!') {
@mail("[email protected]","" . $meldung,"Rückmeldung: " . $meldung);
echo '$meldung';
} else {
@mail("[email protected]","Backup: " . $meldung," " . $meldung);
echo $meldung;
}
?>
Wäre nett wenn mir jemand dabei helfen könnte.
ich wollt bei meinem Server wohl gern ne BackuPfunktion rein machen und zwar so das ich nicht auf andere Dienste, wie ich es grad doch angewiesen bin.
Backupfunktion hab ich, mehr oder weniger geht es mir um die crontabfunktion, da diese bei mir im Plesk wohl nicht funktioniert oder naja am script kann es eigentlich nicht liegen, da wenn man es manuell ausführt funktioniert es, genauso wie bei cronjob.de klappt das alles wunderbar, nur halt wenn ich das von meinem server machen will hauts vorne und hinten nicht hin...
kann mir jemand helfen ?
hier is das script welches ich benutze...
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
// ### EINSTELLUNGEN #############
// ###############################
$user = 'user'; // Name
$pass = 'pass'; // Passwort
$database = 'db'; // zu sichernde Datenbank
$linuxpath = '/pfad/zur/datei/bis/ganz/zum/ende/';
$path = './';// Backup Ordner
$number_of_files = '5'; // mehr als x Dateien löschen (Autodelete)
// ###############################
// checke Backupordnergrösse
function dirsize($dir){
$dirsize=0;
$handle=opendir ($dir);
while (false !== ($file = readdir ($handle))) {
$dirsize+=filesize($dir.$file);
}
closedir($handle);
return $dirsize;
}
// Backupverzeichnis erstellen, falls noch nicht existient!
if (!is_dir($path)) mkdir($path, 0777);
$dh = opendir($path);
while (false !== ($filename = readdir($dh)))
{
if ($filename != "." && $filename != "..") $files_unlink[] = $filename;
}
@rsort($files_unlink);
if (sizeof($files_unlink) >= $number_of_files)
{
for($n=sizeof($files_unlink)-1; $n>=$number_of_files; $n--)
{
unlink($path.$files_unlink[$n]);
}
}
// Backup erstellen
$datei = "networkDB_".date('Y.m.d')."_".date("H:i"); // Dateiname aus Datum und Uhrzeit bilden
$datei .= ".gz";
if (file_exists($datei)) unlink($datei);
$path = str_replace(".", "", $path);
system("/usr/bin/mysqldump -u$user -p$pass -h localhost $database | gzip > ".dirname(__FILE__)."$path/$datei", $fp);
if ($fp==0) $meldung = "Backup erfolgreich! (dacooon Network)"; else $meldung = "Es ist ein Fehler aufgetreten! (dacooon Network)";
//print_r($_SERVER);
if ($meldung == 'OK!') {
@mail("[email protected]","" . $meldung,"Rückmeldung: " . $meldung);
echo '$meldung';
} else {
@mail("[email protected]","Backup: " . $meldung," " . $meldung);
echo $meldung;
}
?>
Wäre nett wenn mir jemand dabei helfen könnte.