mirror of
https://github.com/varun-r-mallya/server-scripts.git
synced 2025-12-31 20:16:25 +00:00
35 lines
926 B
Bash
Executable File
35 lines
926 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
BORG_REPO="/mnt/data/bbackup"
|
|
SNAP_BACKUP_DIR="/var/snap/nextcloud/common/backups"
|
|
TAR_TMP="/tmp"
|
|
|
|
# === Step 1: Run nextcloud.export ===
|
|
echo "📦 Exporting Nextcloud..."
|
|
sudo nextcloud.export -abcd
|
|
|
|
# === Step 2: Find most recent export folder ===
|
|
EXPORT_DIR=$(ls -td "$SNAP_BACKUP_DIR"/20* | head -n 1)
|
|
FOLDER_NAME=$(basename "$EXPORT_DIR")
|
|
TAR_FILE="$TAR_TMP/nextcloud-backup-$FOLDER_NAME.tar"
|
|
|
|
echo "✅ Found export directory: $EXPORT_DIR"
|
|
|
|
# === Step 3: Tar the export directory ===
|
|
sudo tar -cvf "$TAR_FILE" -C "$SNAP_BACKUP_DIR" "$FOLDER_NAME"
|
|
|
|
# === Step 4: Create Borg backup ===
|
|
borg create --verbose --stats --compression zstd \
|
|
"$BORG_REPO::nextcloud-export-$FOLDER_NAME" \
|
|
"$TAR_FILE"
|
|
|
|
# === Step 5: Prune old backups ===
|
|
borg prune -v --list "$BORG_REPO" \
|
|
--keep-daily=7 --keep-weekly=4 --keep-monthly=6
|
|
|
|
# === Step 6: Clean up ===
|
|
sudo rm -f "$TAR_FILE"
|
|
sudo rm -rf "$EXPORT_DIR"
|
|
|