Zurück

Backup regelmässig per Cronjob erstellen

3 Min Lesedauer - Aktualisiert am 20.04.2021

Möchtest du ein Script regelmässig laufen lassen, um ein Backup deiner Website automatisch zu erstellen? Diese Anleitung beschreibt, wie du dies per Cronjob auf deinem Webhosting einrichten kannst und beinhaltet ein mögliches Beispiel eines solchen Scripts.

Dieser Artikel ist eine Anleitung, um ein Backup-Script selber zu erstellen. Es werden dabei grundlegende Kenntnisse mit dem Umgang in der Kommandozeile/Shell vorausgesetzt oder das Interesse sich diese selbständig anzueignen.

Funktionsweise des Scripts

Das Script soll das Verzeichnis der gewünschten Website und die damit verknüpfte Datenbank in einer komprimierten Datei auf dem Server sichern.

Das Backup ist dabei nur auf deinem Webhosting gespeichert und wird bei jedem neuen Durchlauf überschrieben. Wenn du dieses lokal auf deinem Computer sichern willst, kannst du dich an Schritt vier unserer Anleitung für ein Backup per SSH orientieren oder du erstellst ein Script lokal wie im Artikel «Backup über Shell-Script erstellen und lokal speichern» beschrieben.

Script erstellen

1

Zunächst werden Verzeichnisse für das Script und die Backups benötigt. Dazu kann man über den Befehl cd ~ in das Home-Verzeichnis des Webhostings wechseln und dort zwei Ordner erstellen: Einen für das Script und einen für die Backups.

mkdir oliver_script oliver_backups
2

Danach benötigen wir eine Datei mit der Dateiendung .sh, worin sich das Script befindet. Wir nennen diese in unserem Beispiel backup-oliverorange.sh.

vim oliver_script/backup-oliverorange.sh
3

Nun kann das Script geschrieben werden oder du fügst folgende Zeilen ein.

#!/bin/bash
#Backup Script

NAME="" # Name des Backups
USER="" # Webhosting-Benutzer
DATABASE="" # Datenbankname
DATABASEUSER="" # Datenbankbenutzer
DATABASEPSW="" # Passwort zum Datenbankbenutzer
DIRECTORY_WEBSITE="/home/$USER/public_html/" # zu sicherndes Verzeichnis

mysqldump $DATABASE > /home/$USER/backups/$NAME.sql -u $DATABASEUSER -p $DATABASEPSW

tar -cf /home/$USER/backups/$NAME.tar.gz -z $DIRECTORY_WEBSITE /home/$USER/backups/$NAME.sql

rm /home/$USER/backups/$NAME.sql
4

Speichere und schliesse die Datei.

Beachte bitte, dass es sich bei diesem Script lediglich um ein Anwendungsbeispiel handelt und wir dessen Vollständigkeit nicht garantieren können. Hast du Fragen zum Erstellen von Shell-Scripts, so bitten wir dich die Dokumentation der jeweiligen Script-Sprache und deren Community zur Hilfe zu nehmen.

Cronjob erstellen

Richte gemäss «Cronjob erstellen und bearbeiten» einen Cronjob über dein my.cyon-Konto ein oder erstelle diesen direkt über die Shell mit folgendem Befehl:

crontab -e

In unserem Beispiel lassen wir wöchentlich am Samstag um 1 Uhr nachts ein Backup erstellen.

0 1 * * 6 /bin/bash ~/oliver_script/backup-oliverorange.sh

Weitere Beispiele findest du auf Wikipedia. Die Seiten crontab.guru und corntab.com bieten dir bei der Wahl des Zeitpunkts noch Unterstützung.

Was dir auch helfen könnte

Verwandte Artikel