#!/usr/bin/env bash set -euo pipefail ### CONFIG ### PROXMOX_HOST="root@38.102.127.162" PROXMOX_TMP="/var/lib/vz/dump" VMIDS=(102) DEST_HOST="root@thevault.bounceme.net" DEST_PATH="/mnt/backup3/vzdump" TIMESTAMP=$(date +%F_%H-%M) RETENTION_DAYS=7 echo "๐Ÿ“ฆ Starting remote VM backup via Proxmox..." for VMID in "${VMIDS[@]}"; do echo "๐Ÿง  Telling Proxmox to back up VM $VMID..." ssh "$PROXMOX_HOST" "vzdump $VMID --dumpdir $PROXMOX_TMP --mode snapshot --compress zstd --quiet" echo "๐Ÿ“‚ Locating backup file for VM $VMID on Proxmox..." LATEST_FILE=$(ssh "$PROXMOX_HOST" "ls -t $PROXMOX_TMP/vzdump-qemu-${VMID}-*.zst | head -n 1") echo "๐Ÿš€ Transferring backup to thevault..." ssh "$PROXMOX_HOST" "rsync -av '$LATEST_FILE' '$DEST_HOST:$DEST_PATH/'" echo "๐Ÿงน Cleaning up Proxmox local file..." ssh "$PROXMOX_HOST" "rm -f '$LATEST_FILE'" done echo "๐Ÿงน Pruning old backups on thevault..." ssh "$DEST_HOST" "find '$DEST_PATH' -type f -mtime +$RETENTION_DAYS -name 'vzdump-qemu-*.zst' -delete" echo "โœ… KodakMoment VM-host remote backup complete."