Guten Morgen,
hier ein Tutorial wie man die eigene Webseite und der SQL Datenbank mittels Cronjob sichert.
1. Anlegen eines gesicherten Ordners.
Zuerst musst du via FTP auf deinen Webspace und einen Ordner für die Backups anlegen.
Wir nehmen den Ordner "BackUp". Diesen sichern wir zuerst via Passwortschutz ab damit deine Backups geschützt sind.
Erstelle im Ordner dann eine Datei mit dem Namen ".htaccess" .
Dort gibst du folgendes an:
Dabei ist es wichtig dass der Pfad zum BackUpordner stimmt.
Du musst also den Pfad " /xx/xxxxxxxxx/htdocs/[Ordner] " vervollständigen.
Nun musst du den Benutzer für den Zugang anlegen.
Jetzt legst du eine zweite Datei mit dem Namen " .htpasswd " an.In diese Datei schreibst du folgendes:
Das Passwort wird verschlüsselt in der Datei gespeichert.
Ein verschlüsseltes Passwort erhälst du HIER .
Dort gibst du dein gewünschtes Passwort an und kopierst den "Crypt" in deine " .htpasswd ", speichern und fertig.
Der Ordner " BackUp " ist nun fertig und Passwort gesichert.
2. Anlegen der BackUpdatei für den FTP.
Nun legst du eine Datei mit dem Namen " ftp-backup.php" an .
Dort muss folgender Code rein:
Alles anzeigen
Diese Datei anschließend speichern.
Ruf das Script nun auf: " deineadresse.de/backup/ftp-backup.php ".
Das Script legt automatisch eine gepackte Datei mit deinen gesicherten Daten an und gibt dir eine Antwort wenn es fertig ist.
3. Anlegen einer Backupdatei deiner SQL Datenbank.
Nun erstellst du eine neue Datei mit der Bezeichnung " db_backup.phpx
"Dort muss folgender Code rein:
Alles anzeigen
Ändere die Daten "datenbankname", datenbankpasswort" und "deine@mailadresse" mit deinen Daten ab und speichere die Datei im FTP ab.
Das Script lässt sich ebenfalls über deine Adresse aufrufen und legt automatisch eine gepackte Datei an.
Die Grundlegenden Schritte für Cronjobs sind nun erledigt.
4. Cronjobs automatisch starten
Jetzt müssen die Scripte automatisch gestartet werden.
Viele Webhoster bieten ihren Kunden in der Administration des Webspaces, Cronjobs an.
Der Cronjob benötigt dann die Zugangsdaten die vorher in der ".htaccess" und in der ".htpasswd" angelegt wurden.
Dort gibst du die Links zu den Scripten an und stellst ein in welchen Abständen sie gestartet werden sollen.
Nach dem die Scripte das BackUp angelegt haben, erhälst du z.B. vom DB_Backupscript eine Mail dass ein Backup angelegt wurde.
Falls noch Fragen dazu bestehen sollten, kannst du hier einfach darauf antworten.
Gruß
hier ein Tutorial wie man die eigene Webseite und der SQL Datenbank mittels Cronjob sichert.
1. Anlegen eines gesicherten Ordners.
Zuerst musst du via FTP auf deinen Webspace und einen Ordner für die Backups anlegen.
Wir nehmen den Ordner "BackUp". Diesen sichern wir zuerst via Passwortschutz ab damit deine Backups geschützt sind.
Erstelle im Ordner dann eine Datei mit dem Namen ".htaccess" .
Dort gibst du folgendes an:
Dabei ist es wichtig dass der Pfad zum BackUpordner stimmt.
Du musst also den Pfad " /xx/xxxxxxxxx/htdocs/[Ordner] " vervollständigen.
Nun musst du den Benutzer für den Zugang anlegen.
Jetzt legst du eine zweite Datei mit dem Namen " .htpasswd " an.In diese Datei schreibst du folgendes:
Das Passwort wird verschlüsselt in der Datei gespeichert.
Ein verschlüsseltes Passwort erhälst du HIER .
Dort gibst du dein gewünschtes Passwort an und kopierst den "Crypt" in deine " .htpasswd ", speichern und fertig.
Der Ordner " BackUp " ist nun fertig und Passwort gesichert.
2. Anlegen der BackUpdatei für den FTP.
Nun legst du eine Datei mit dem Namen " ftp-backup.php" an .
Dort muss folgender Code rein:
Quellcode
- <?
- // PHP-Konfiguration optimieren
- @error_reporting(E_ALL ^ E_WARNING);
- @ini_set("max_execution_time", 300);
- @ini_set("memory_limit", "256M");
- // Zu sicherndes Unterverzeichnis. Bleibt leer, wenn gesamter Account gesichert werden soll.
- $verzeichnis = "deinverzeichnis";
- // Auszuschließende Ressourcen
- $ignorieren = array("*.sql.gz", "*.tar.gz", "usage", "logs");
- // PEAR-Klasse einbinden und Archiv erstellen
- $pfad = preg_replace('/(\/www\/htdocs\/\deinverzeichnis\/).*/', '$1', realpath(__FILE__));
- include "Archive/Tar.php";
- $archivname = preg_replace('/.+\/(.+)\/$/', '$1', $pfad).date('_Y-m-d_His').".tar.gz";
- $archiv = new Archive_Tar($archivname, true);
- $archiv->setIgnoreList($ignorieren);
- $archiv->createModify($pfad.$verzeichnis, "deinverzeichis/backup/", $pfad);
- echo "Backup fertig";
- ?>
Diese Datei anschließend speichern.
Ruf das Script nun auf: " deineadresse.de/backup/ftp-backup.php ".
Das Script legt automatisch eine gepackte Datei mit deinen gesicherten Daten an und gibt dir eine Antwort wenn es fertig ist.
3. Anlegen einer Backupdatei deiner SQL Datenbank.
Nun erstellst du eine neue Datei mit der Bezeichnung " db_backup.phpx
"Dort muss folgender Code rein:
PHP-Quellcode
- <?php
- ######## einstellungen #############################################
- $db_name = "datenbankname";
- $db_passwd = "datenbankname";
- $downloadlink_erstellen = "ja";
- $bestaetigungsmail_senden = "ja";
- $bestaetigungsmail_adresse = "deine@mailadresse";
- $bestaetigungsmail_betreff = "[BACKUP] Ihr Backupscript";
- $sql_file = "dump_" . $db_name . "_" . date('Ymd_Hi') . ".sql";
- ####################################################################
- ################## AB HIER BITTE NICHTS MEHR ÄNDERN!!! ################
- ### 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
- 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" . "Content-Type: text/html\r\n")
- or die("FEHLER: Mail konnte wegen eines unbekannten Fehlers nicht versendet werden");
- echo "<br>Bestätigungsmail wurde erfolgreich versandt!";
- }
- }
- ?>
- Bitte ändern Sie im Quellcode folgende 3 Zeilen:
- $db_name = "datenbankname";
- $db_passwd = "datenbankpasswort";
- $bestaetigungsmail_adresse = "deine@mailadresse";
Ändere die Daten "datenbankname", datenbankpasswort" und "deine@mailadresse" mit deinen Daten ab und speichere die Datei im FTP ab.
Das Script lässt sich ebenfalls über deine Adresse aufrufen und legt automatisch eine gepackte Datei an.
Die Grundlegenden Schritte für Cronjobs sind nun erledigt.
4. Cronjobs automatisch starten
Jetzt müssen die Scripte automatisch gestartet werden.
Viele Webhoster bieten ihren Kunden in der Administration des Webspaces, Cronjobs an.
Der Cronjob benötigt dann die Zugangsdaten die vorher in der ".htaccess" und in der ".htpasswd" angelegt wurden.
Dort gibst du die Links zu den Scripten an und stellst ein in welchen Abständen sie gestartet werden sollen.
Nach dem die Scripte das BackUp angelegt haben, erhälst du z.B. vom DB_Backupscript eine Mail dass ein Backup angelegt wurde.
Falls noch Fragen dazu bestehen sollten, kannst du hier einfach darauf antworten.
Gruß