Backup über Shell-Script erstellen und lokal speichern
Backup über Shell-Script erstellen und lokal speichern
Aktualisiert am 9. Jan. 2025
War dieser Artikel hilfreich?
- 1
vim /Users/<Anmeldename des Geräts>/Documents/backup-script-cyon.sh- 2
#!/bin/bash #- cyon_bkp_local.sh 0.1 #- Copyright (C) 2019 Stefan Schneider - cyon GmbH ## ## Usage: cyon_bkp_local configfile # History: # 09.05.2019 - Erste Version # 09.01.2025 - Zusätzliche Sicherheit für Passwort-Eingabe NAME="" # Name des Backups USER="" # Anmeldename des Webhostings SERVERNAME="" # Servername oder Domain DATABASE="" # Datenbankname DATABASEUSER="$DATABASE" # Anmeldename der Datenbank DIRECTORY_SERVER="" # zu sicherndes Verzeichnis auf dem Server DIRECTORY_LOCAL="" # Verzeichnis, lokaler Speicherort source $1 DATE=`date +%y%m%d-%H%M` BACKUPNAME="$DATE"_"$NAME"_backup # Return Codes: E_NOARGS=3 E_STDERR=1 SUCCESS=0 MIN_PARAMS=1 # Echo variables and ask to continue echo -e "Name der Installation:\t$NAME" echo -e "Anmeldename des Webhostings:\t$USER" echo -e "Servername oder Domain:\t$SERVERNAME" echo -e "Datenbankname:\t \t$DATABASE" echo -e "Anmeldename der Datenbank:\t$DATABASEUSER" echo -e "Server-Verzeichnis:\t$DIRECTORY_SERVER" echo -e "lokales Verzeichnis:\t$DIRECTORY_LOCAL" read -r -p "Passt so? [y/N] " response case "$response" in [yY][eE][sS]|[yY]) echo "Verbinde auf den Server..." read -s -p "Datebank Passwort: " PASSWORD echo "" echo "Erstelle Datenbankdump..." ssh "${USER}"@"${SERVERNAME}" "mysqldump -u ${DATABASEUSER} -p${PASSWORD} ${DATABASE} > /home/${USER}/tmp/${BACKUPNAME}.sql" if [[ $? != 0 ]]; then echo "Konnte Datenbank nicht dumpen"; exit $?; fi echo "Datenbank gedumpt" echo "" echo "Komprimiere Webseite..." ssh "${USER}"@"${SERVERNAME}" "tar -czf /home/${USER}/tmp/${BACKUPNAME}.tar.gz ${DIRECTORY_SERVER}" if [[ $? != 0 ]]; then echo "Konnte Webseite nicht komprimieren"; exit $?; fi echo "Webseite komprimiert" echo "" if [ ! -d "${DIRECTORY_LOCAL}" ]; then echo "${DIRECTORY_LOCAL} existiert nicht, erstelle Verzeichnis.." mkdir -p $DIRECTORY_LOCAL fi echo "Kopiere Daten..." rsync -avSP "${USER}"@"${SERVERNAME}":/home/"${USER}"/tmp/${BACKUPNAME}.sql ${DIRECTORY_LOCAL}/ rsync -avSP "${USER}"@"${SERVERNAME}":/home/"${USER}"/tmp/${BACKUPNAME}.tar.gz ${DIRECTORY_LOCAL}/ if [[ $? != 0 ]]; then echo "Kopieren der Daten fehlgeschlagen"; exit $?; fi echo "Daten kopiert" echo "" echo "Entferne Backups auf dem Server..." ssh "${USER}"@"${SERVERNAME}" "rm -v /home/${USER}/tmp/$BACKUPNAME.tar.gz" ssh "${USER}"@"${SERVERNAME}" "rm -v /home/${USER}/tmp/$BACKUPNAME.sql" if [[ $? != 0 ]]; then echo "Entfernen der Daten vom Server fehlgeschlagen"; exit $?; fi echo "Backups auf dem Server entfernt" echo "" echo "Done! Backups von Datenbank und Webseite wurden in $DIRECTORY_LOCAL abgespeichert" # Lösche das Passwort aus der Variable PASSWORD="" ;; *) exit $SUCCESS ;; esac exit $SUCCESS- 3
- 4
chmod 755 /Users/<Anmeldename des Geräts>/Documents/backup-script-cyon.sh
- 1
vim /Users/<Anmeldename des Geräts>/Documents/bkp-oliverorange.txt- 2
NAME="" # Name des Backups USER="" # Anmeldename des Webhostings SERVERNAME="" # Servername oder Domain DATABASE="" # Datenbankname DATABASEUSER="" # Anmeldename der Datenbank DIRECTORY_SERVER="" # zu sicherndes Verzeichnis auf dem Server, absoluter Pfad DIRECTORY_LOCAL="" # Verzeichnis, lokaler Speicherort, absoluter PfadNAME="oliverorange" # Name des Backups USER="olivero2" # Anmeldename des Webhostings SERVERNAME="s003.cyon.net" # Servername oder Domain DATABASE="olivero2_wp262" # Datenbankname DATABASEUSER="olivero2_wp262" # Anmeldename der Datenbank DIRECTORY_SERVER="/home/olivero2/public_html/oliverorange.ch/" # zu sicherndes Verzeichnis auf dem Server, absoluter Pfad DIRECTORY_LOCAL="/Users/<Anmeldename des Geräts>/Desktop/" # Verzeichnis, lokaler Speicherort, absoluter Pfad- 3
- 1
/Users/<Anmeldename des Geräts>/Documents/backup-script-cyon.sh /Users/<Anmeldename des Geräts>/Documents/bkp-oliverorange.txt- 2
Name der Installation: oliverorange Anmeldename des Webhostings: olivero2 Servername oder Domain: s003.cyon.net Datenbankname: olivero2_wp262 Anmeldename der Datenbank: olivero2_wp262 Server-Verzeichnis: /home/olivero2/public_html/oliverorange.ch/ lokales Verzeichnis: /Users/<Anmeldename des Geräts>/Desktop/ Passt so? [y/N]- 3
- 4
190520-1050_oliverorange_backup.sql 190520-1050_oliverorange_backup.tar.gz
Kategorien
- Backups erstellen und einspielen
- Backup/Restore
Artikel teilen
Verwandte Artikel
Was dir auch helfen könnte
Wähle den für dich passenden Kanal
Backup regelmässig per Cronjob erstellen
Möchtest du ein Script regelmässig laufen lassen, um ein Backup deiner Website automatisch zu erstellen? Diese A...
Backups aus Apps lokal speichern
Über cyon-Apps hast du die Möglichkeit, automatisch Backups deines CMS oder deiner Applikation zu erstellen. Die...
Backup einer Website erstellen
Es empfiehlt sich, regelmässig Backups von einer Website zu erstellen. Vor allem bevor man Änderungen vornimmt w...
Wiederherstellung (Backup) meiner Daten
Wenn deine Datensicherung nicht funktioniert hat, stellen wir dir gerne Daten aus einer unserer Sicherungen zur ...
Backups unter Apps erstellen und zurückspielen
Du möchtest automatisch Backups deiner Website erstellen? Unter cyon-Apps hast du die Möglichkeit, manuell oder ...

