From 36d2969b4efd025cf44f479809ae9fd450f61542 Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 17 Jun 2026 23:31:56 +0800 Subject: [PATCH] feat: added proxmox backup script --- proxmox-backup.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 proxmox-backup.sh diff --git a/proxmox-backup.sh b/proxmox-backup.sh new file mode 100644 index 0000000..e445d8e --- /dev/null +++ b/proxmox-backup.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# === CONFIG === +DATE=$(date +%Y-%m-%d) +BACKUP_DIR="/mnt/toshiba_hdd/lxc-backup" +RCLONE_REMOTE="b2-crypt" +LOG="/var/log/proxmox-backup-$DATE.log" + +# === STEP 1: Create backup === +echo "[$DATE] Starting Proxmox backup..." | tee -a $LOG +vzdump --all --compress zstd --dumpdir $BACKUP_DIR --quiet >> $LOG 2>&1 + +if [ $? -ne 0 ]; then + echo "[$DATE] Backup failed. Exiting." | tee -a $LOG + exit 1 +fi + +# === STEP 2: Upload to B2 === +echo "[$DATE] Uploading to $RCLONE_REMOTE..." | tee -a $LOG +rclone copy "$BACKUP_DIR" "$RCLONE_REMOTE:proxmox/$DATE" --progress >> $LOG 2>&1 + +if [ $? -eq 0 ]; then + echo "[$DATE] Upload successful. Deleting local backups..." | tee -a $LOG + rm -rf "$BACKUP_DIR"/* +else + echo "[$DATE] Upload failed. Keeping local backups." | tee -a $LOG + exit 2 +fi + +echo "[$DATE] Backup complete." | tee -a $LOG