Antworten auf Ihre häufigsten Fragen

[cPanel] Wie richte ich automatische Backups ein?

English version below

Dieser Artikel richtet sich an Kunden mit einem cPanel Hosting Produkt.

Es gibt mehrere Möglichkeiten Ihre Dateien zu sichern. In diesem Artikel haben wir 2 Beispiele für Sie. Bei beiden Beispielen handelt es sich um Cronjob Skripte. Wie Sie einen Cronjob einrichten, wird hier erklärt: Wie richte ich einen Cronjob ein?

Als Beispiel werden wir das entsprechende Skript (backup.sh) täglich per Cronjob aufrufen. Nutzen Sie hierfür folgenden Pfad unter "Befehl":

/home/*individueller_home_pfad*/backup.sh

HINWEIS: Fettgedruckte Werte in den Beispielen müssen von Ihnen geändert werden.

Beispiel: Automatisiertes tägliches lokales Backup:

Bitte beachten Sie, dass das Skript, wie im Pfad ersichtlich, im Stammverzeichnis (Root) liegen muss. Von diesem Skript erstellte Backups werden im Ordner /backups innerhalb des Stammverzeichnisses abgelegt und in drei Unterordner für E-Mails, Datenbanken und Dateien im Webspace aufgeteilt.

#!/bin/bash

db_user='Ihr Datenbanknutzer'
db_pass='Das Passwort für den Benutzer'
datum=$(date +%d-%m-%y)
mkdir -p ./backups
mkdir -p ./backups/emails/$datum/
mkdir -p ./backups/webspace/$datum/
mkdir -p ./backups/databases/$datum/
zip -r ./backups/emails/$datum/emails.zip ./mail/
zip -r ./backups/webspace/$datum/webspace.zip ./public_html/
mysqldump -u $db_user --password=$db_pass --all-databases --no-tablespaces | gzip -7 > ./backups/databases/$datum/databases.zip

Achtung: Bitte beachten Sie, dass das Skript nur die Daten des Webspace speichert, welche im Verzeichnis /public_html/ liegen. Parallel angelegte Verzeichnisse werden nicht gesichert. Möchten Sie Daten in abweichenden Verzeichnissen ebenfalls sichern, können Sie das Skript pro weiteren Verzeichnis durch folgende Zeile mit vorherigen Anpassungen ergänzen.

zip -r ./backups/webspace/$datum/name_backup.zip ./name_verzeichnis/

Damit die Sicherung weiterer Verzeichnisse ordnungsgemäß funktioniert, müssen Sie für jedes weitere Verzeichnis dem Backup einen anderen Namen geben (name_backup.zip), sowie den Namen des zu sichernden Verzeichnisses angeben (name_verzeichnis).

 

Beispiel: Automatisiertes tägliches externes Backup:

Auch in diesem Fall muss das Skript, im Root-Verzeichnis liegen. Die Backups werden in diesem Fall jedoch extern abgelegt. Zur Nutzung dieses Skriptes müssen Sie für den Zugriff auf das externe System einen SSH Key besitzen/erstellen.

#!/bin/bash

db_user='Ihr Datenbanknutzer'
db_pass='Das Passwort für den Benutzer'
datum=$(date +%d-%m-%y)
mkdir -p ./backups
mkdir -p ./backups/emails/$datum/
mkdir -p ./backups/webspace/$datum/
mkdir -p ./backups/databases/$datum/
zip -r ./backups/emails/$datum/emails.zip ./mail/
zip -r ./backups/webspace/$datum/webspace.zip ./public_html/
mysqldump -u $db_user --password=$db_pass --all-databases --no-tablespaces | gzip -7 > ./backups/databases/$datum/databases.zip

scp -i /pfad/zum/ssh/key ./backups/emails/$datum/emails.zip Benutzer@IP_des_Server:./Verzeichnis
scp -i /pfad/zum/ssh/key ./backups/webspace/$datum/webspace.zip Benutzer@IP_des_Server:./Verzeichnis
scp -i /pfad/zum/ssh/key ./backups/databases/$datum/databases.zip Benutzer@IP_des_Server:./Verzeichnis  

 

Achtung: Die Daten für E-Mails, Datenbanken und Dateien im Webspace werden separat in drei Unterordner abgelegt. Bei der Sicherung der Dateien im Webspace wird hier nur der Ordner public_html mit allen Unterverzeichnissen gesichert, da sich hier die Webseitendaten befinden.

 

Hinweis: Bitte beachten Sie, dass durch die Einrichtung dieses automatischen Backups Daten auf Ihrem Webspace abgelegt werden, diese aber nicht automatisch wieder gelöscht werden. Wir empfehlen Ihnen daher regelmäßig ältere Backups, welche Sie nicht mehr benötigen zu löschen.

 

 

 

English Version:

This article is aimed at customers with a cPanel hosting product.

There are several ways to back up your files. In this article we have 2 examples for you. Both examples are cronjob scripts. How to set up a cronjob is explained here: How do I set up a Cronjob?

As an example, we will start the corresponding script (backup.sh) daily via cronjob. Use the following path under "Command" for this:

/home/*individual_home_path*/backup.sh

NOTE: Values in bold fond in the examples must be changed by you.

Example: Automated daily local backup:

Please note that the script must be located in the root directory, as can be seen in the path. Backups created by this script are stored in the /backups folder in the root directory and divided into three sub-folders for e-mails, databases and files in the web space.

#!/bin/bash

db_user='your database user'
db_pass='the password of your user'
date=$(date +%d-%m-%y)
mkdir -p ./backups
mkdir -p ./backups/emails/$date/
mkdir -p ./backups/webspace/$date/
mkdir -p ./backups/databases/$date/
zip -r ./backups/emails/$date/emails.zip ./mail/
zip -r ./backups/webspace/$date/webspace.zip ./public_html/
mysqldump -u $db_user --password=$db_pass --all-databases --no-tablespaces | gzip -7 > ./backups/databases/$date/databases.zip

Attention: Please note that the script only saves the web space data that is in the /public_html/ directory. Directories created in parallel are not backed up. If you also want to save data in different directories, you can add the following line to the script for each additional directory with previous adjustments.

zip -r ./backups/webspace/$date/name_backup.zip ./name_directory/

In order for the backup of additional directories to work properly, you must give the backup a different name for each additional directory (name_backup.zip) and specify the name of the directory to be backed up (name_directory).

 

Example: Automated daily external backup:

In this case, too, the script must be in the root directory. In this case, however, the backups are stored externally. To use this script, you must have/create an SSH key to access the external system.

#!/bin/bash

db_user='your database user'
db_pass='the password of your user'
date=$(date +%d-%m-%y)
mkdir -p ./backups
mkdir -p ./backups/emails/$date/
mkdir -p ./backups/webspace/$date/
mkdir -p ./backups/databases/$date/
zip -r ./backups/emails/$date/emails.zip ./mail/
zip -r ./backups/webspace/$date/webspace.zip ./public_html/
mysqldump -u $db_user --password=$db_pass --all-databases --no-tablespaces | gzip -7 > ./backups/databases/$date/databases.zip

scp -i /path/to/ssh/key ./backups/emails/$datum/emails.zip user@IP_of_Server:./directory
scp -i /path/to/ssh/key ./backups/webspace/$datum/webspace.zip user@IP_of_Server:./directory
scp -i /path/to/ssh/key ./backups/databases/$datum/databases.zip user@IP_of_Server:./directory 

 

Attention: The data for e-mails, databases and files in the web space are stored separately in three sub-folders. When backing up the files in the web space, only the public_html folder with all its subdirectories is backed up here, as this is where the website data is located.

 

NOTE: Please note that by setting up this automatic backup, data will be stored on your web space, but these are not automatically deleted again. We therefore recommend that you regularly delete older backups that you no longer need.


otto.friedrich@hosteurope.de xanthippe.ypsilante@hosteurope.de hercules.ikarus@hosteurope.de