nextcloud_sichern_scripte/nextcloud_restore.sh
2024-11-19 18:08:36 +01:00

54 lines
1.3 KiB
Bash

#!/bin/bash
# Überprüfen, ob alle erforderlichen Parameter übergeben wurden
if [ "$#" -ne 3 ]; then
echo "Usage: $0 <config_backup_file> <data_backup_file> <db_backup_file>"
exit 1
fi
# Parameter zuweisen
CONFIG_BACKUP_FILE=$1
DATA_BACKUP_FILE=$2
DB_BACKUP_FILE=$3
# Verzeichnisse und Datenbank-Details
CONFIG_DIR="/var/www/nextcloud/config"
DATA_DIR="/mnt/nvmedrv/nextcloud/data"
DB_NAME="nextcloud_db"
DB_USER="nextcloud_user"
DB_PASS="your_password"
# Sicherstellen, dass die Backup-Dateien existieren
if [ ! -f "$CONFIG_BACKUP_FILE" ]; then
echo "Konfigurations-Backup-Datei nicht gefunden: $CONFIG_BACKUP_FILE"
exit 1
fi
if [ ! -f "$DATA_BACKUP_FILE" ]; then
echo "Daten-Backup-Datei nicht gefunden: $DATA_BACKUP_FILE"
exit 1
fi
if [ ! -f "$DB_BACKUP_FILE" ]; then
echo "Datenbank-Backup-Datei nicht gefunden: $DB_BACKUP_FILE"
exit 1
fi
# Nextcloud in den Wartungsmodus versetzen
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
# Konfiguration zurückspielen
tar -xzf $CONFIG_BACKUP_FILE -C $CONFIG_DIR
# Daten zurückspielen
tar -xzf $DATA_BACKUP_FILE -C $DATA_DIR
# Datenbank zurückspielen
mysql -u $DB_USER -p$DB_PASS $DB_NAME < $DB_BACKUP_FILE
# Nextcloud aus dem Wartungsmodus nehmen
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
echo "Backup erfolgreich zurückgespielt."
exit 0