first
This commit is contained in:
commit
99c716d35b
5 changed files with 402 additions and 0 deletions
47
backup.sh
Executable file
47
backup.sh
Executable file
|
|
@ -0,0 +1,47 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
# shellcheck source=backup.env
|
||||
source "$SCRIPT_DIR/backup.env"
|
||||
|
||||
# ==============================================================================
|
||||
# BACKUP-SPECIFIC CONFIGURATION
|
||||
# ==============================================================================
|
||||
BACKUP_LABEL="${HOSTNAME}-root"
|
||||
EXCLUDE_FILE="/etc/proxmox-backup/defaults.exclude"
|
||||
|
||||
# Create a default exclude file if it doesn't exist
|
||||
if [ ! -f "$EXCLUDE_FILE" ]; then
|
||||
mkdir -p "$(dirname "$EXCLUDE_FILE")"
|
||||
cat << 'EOF' > "$EXCLUDE_FILE"
|
||||
/proc/*
|
||||
/sys/*
|
||||
/dev/*
|
||||
/run/*
|
||||
/tmp/*
|
||||
/mnt/*
|
||||
/media/*
|
||||
/lost+found
|
||||
/var/tmp/*
|
||||
/var/cache/*
|
||||
EOF
|
||||
fi
|
||||
|
||||
# ==============================================================================
|
||||
# EXECUTION
|
||||
# ==============================================================================
|
||||
echo "Starting Proxmox Backup for ${HOSTNAME}..."
|
||||
|
||||
EXCLUDE_ARGS=()
|
||||
while IFS= read -r line; do
|
||||
[ -z "$line" ] && continue
|
||||
EXCLUDE_ARGS+=(--exclude "$line")
|
||||
done < "$EXCLUDE_FILE"
|
||||
|
||||
proxmox-backup-client backup "${BACKUP_LABEL}.pxar:/" \
|
||||
--keyfile "$ENCRYPTION_KEY_FILE" \
|
||||
--ns "$BACKUP_NS" \
|
||||
"${EXCLUDE_ARGS[@]}"
|
||||
|
||||
echo "Backup completed successfully!"
|
||||
Loading…
Add table
Add a link
Reference in a new issue