PHP: Mysql Backup Lösung mit phpMailer und Google-Mail

Jetzt habe ich von meheren Seiten gehört, das die leute dazu über gegangen sind ihre Seiten als Backup einzupacken und das Backup danach mit phpMailer an ihr kostenloses Google-Mail Konto senden, auf dem sie 7,5 GB freien Speicherplatz haben.
Testweise habe ich das mit dieser Domain hier auch mal gemacht und getestet wie gut das funktioniert.

Hier der Ablauf in Stuchpunkten
1. auf googlemail ein konto registrieren
    Benutzername und Passwort nicht vergessen 🙂
2. prüfen, ob „System“ oder „Exec“ auf dem zu Backuppenden Webspace verfügbar sind
    wenn das nicht geht, funktioniert das Backup-Script leider nicht 🙁
3. auf dem eigenen FTP einen Ordner „Backups“ anlegen, welchen man von außen erreichen kann
4. phpMailer herunter laden, entpacken und in den angelegten Backups-Ordner hoch laden
5. das angefügte Script (backup.php) in den Backups-Order auf dem FTP hoch laden
6. auf z.B. Cronjob.de registrieren und einen kostenlosen Cronjob anlegen
    Dieser soll dann einmal Nachts das backup.php Script aufrufen 🙂


Hier mein backup.php Script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?
 
// ############ EINSTELLUNGEN ##################################
$Dateiname = date("d.m.Y").".bz2";  // Dateiname des Backups   #
$user = 'webXX';                    // Name                    #
$pass = 'xXxXx';                    // Passwort                #
$database = 'usr_webXX_1';          // zu sichernde Datenbank  #
// #############################################################
 
 
// Backup erstellen	
system("/usr/bin/mysqldump -u$user -p$pass -h localhost $database | bzip2 > $Dateiname", $fp); 
 
// PHPMailer		
require("class.phpmailer.php");
$mail = new PHPMailer();
//$mail->IsMail();                  // send via mail()					
$mail ->IsSMTP();                   // per SMTP verschicken			
$mail->Host     = "frickelblog.de"; // SMTP-Server					
$mail->SMTPAuth  = true;            // SMTP mit Authentifizierung benutzen	
$mail->Username = "webXXp1";        // SMTP-Benutzername				
$mail->Password = "xXxXx";          // SMTP-Passwort	
 
$mail->From     = "backup@xxx-domain.de";
$mail->FromName = "MySQL Backup vom ".date("d.m.Y");
$mail->AddAddress("backup@googlemail.com");
$mail->WordWrap = 50;                              // set word wrap	
$mail->AddAttachment($Dateiname); 
$mail->IsHTML(true);                               // send as HTML	
 
$mail->Subject  =  "MySQL Backup vom ".date("d.m.Y");
$mail->Body     =  "Diese Mail beinhaltet das MySQL Backup vom ".date("d.m.Y")." - ".date("H:i:s");
$mail->AltBody  =  "Diese Mail beinhaltet das MySQL Backup vom ".date("d.m.Y")." - ".date("H:i:s");
sleep(2);
if(!$mail->Send())
{
   echo "<br><br><b><font color=\"#FF0000\" size=3>Message was not sent</font></b> <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}
else
{
	echo "Email an backup@googlemail.com gesendet.";
}
unlink($Dateiname);
 
?>

leave your comment

*

Unterstütze den Frickelblog!