Skip to content

Instantly share code, notes, and snippets.

@peterschristoph
Created November 27, 2025 08:44
Show Gist options
  • Select an option

  • Save peterschristoph/9dbb42de6b3117cad5310d4984ca8ef2 to your computer and use it in GitHub Desktop.

Select an option

Save peterschristoph/9dbb42de6b3117cad5310d4984ca8ef2 to your computer and use it in GitHub Desktop.
#!/bin/bash
#####################################
# Grundkonfiguration
#####################################
# Ziel-Repository
PBS_REPOSITORY="root@[email protected]:store1"
# Fingerprint des PBS-Servers
PBS_FINGERPRINT="AA:BB:CC:DD:EE:FF:11:22:33:44:55:66:77:88:99:00:AA:BB:CC:DD"
# Passwort des PBS-Benutzers
PBS_PASSWORD="meinSuperGeheimesPasswort"
# Passwort für den Encryption-Key
PBS_ENCRYPTION_PASSWORD="meinKeyPasswort"
#####################################
# Keyfile – zwei Varianten
#####################################
# 1) Keyfile als Pfad zu einer Datei
KEYFILE_PATH="/root/.config/proxmox-backup/encryption-key.json"
# 2) Keyfile direkt eingebettet (auskommentiert lassen, falls nicht benötigt)
: '
KEYFILE_CONTENT="-----BEGIN ENCRYPTION KEY-----
MIIBCgKCAQEA0j...
...Rest des Keys...
-----END ENCRYPTION KEY-----"
'
#####################################
# Backup-Einstellungen
#####################################
BACKUP_ID="server01"
JOB_NAME="mein-backup"
SOURCE_DIR="/"
COMPRESSION="zstd"
#####################################
# Environment-Variablen setzen
#####################################
export PBS_REPOSITORY
export PBS_FINGERPRINT
export PBS_PASSWORD
export PBS_ENCRYPTION_PASSWORD
#####################################
# Falls direkter Keyfile-Inhalt verwendet werden soll:
#####################################
USE_EMBEDDED_KEYFILE=false # <-- auf "true" setzen, wenn KEYFILE_CONTENT benutzt werden soll
if [ "$USE_EMBEDDED_KEYFILE" = true ]; then
KEYFILE_TMP=$(mktemp)
echo "$KEYFILE_CONTENT" > "$KEYFILE_TMP"
KEYFILE="$KEYFILE_TMP"
else
KEYFILE="$KEYFILE_PATH"
fi
#####################################
# Backup ausführen
#####################################
proxmox-backup-client backup \
"root.pxar:${SOURCE_DIR}" \
--backup-id "${BACKUP_ID}" \
--backup-type host \
--compress "${COMPRESSION}" \
--job "${JOB_NAME}" \
--keyfile "$KEYFILE"
#####################################
# Aufräumen, falls eingebetteter Key verwendet wurde
#####################################
if [ "$USE_EMBEDDED_KEYFILE" = true ]; then
rm -f "$KEYFILE_TMP"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment