configuration 1

Signed-off-by: varun-r-mallya <varunrmallya@gmail.com>
This commit is contained in:
2025-06-20 19:55:13 +00:00
commit f693c857b1
11 changed files with 374 additions and 0 deletions

View File

@ -0,0 +1,46 @@
#!/bin/bash
set -e
# === Config ===
BORG_REPO="/mnt/data/bbackup"
RESTORE_BASE="/var/snap/nextcloud/common/restore"
TMP_DIR="/tmp/nextcloud_restore_tmp"
# === Step 1: List available Borg archives
echo "🔍 Available Nextcloud Backups:"
borg list "$BORG_REPO" | grep nextcloud-export- | nl
# === Step 2: Ask user to choose one
read -p "Enter the number of the backup to restore: " CHOICE
ARCHIVE_NAME=$(borg list "$BORG_REPO" | grep nextcloud-export- | sed -n "${CHOICE}p" | awk '{print $1}')
if [ -z "$ARCHIVE_NAME" ]; then
echo "❌ Invalid selection"
exit 1
fi
echo "✅ Selected archive: $ARCHIVE_NAME"
# === Step 3: Extract Borg archive
rm -rf "$TMP_DIR"
mkdir -p "$TMP_DIR"
cd "$TMP_DIR"
echo "📦 Extracting archive..."
borg extract "$BORG_REPO::$ARCHIVE_NAME"
cd ./tmp
# === Step 4: Extract tar into Snap-visible restore directory
TAR_FILE=$(ls nextcloud-backup-*.tar)
FOLDER_NAME="${TAR_FILE%.tar}"
sudo mkdir -p "$RESTORE_BASE/$FOLDER_NAME"
sudo tar -xvf "$TAR_FILE" -C "$RESTORE_BASE/$FOLDER_NAME"
# === Step 5: Run nextcloud.import
echo "🚀 Restoring Nextcloud from backup..."
sudo nextcloud.import "$RESTORE_BASE/$FOLDER_NAME"
echo "✅ Done restoring from $ARCHIVE_NAME"