From dacb12d0acfa68b1ee31f075a9ec4a3fc8e195e2 Mon Sep 17 00:00:00 2001 From: mango Date: Mon, 2 Feb 2026 07:25:26 +0800 Subject: [PATCH] =?UTF-8?q?v2.3:=20=E5=A2=9E=E5=8A=A0=E5=A4=87=E4=BB=BD?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5TG=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vps-snapshot.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/vps-snapshot.sh b/vps-snapshot.sh index 5e53927..9741a9b 100755 --- a/vps-snapshot.sh +++ b/vps-snapshot.sh @@ -1,7 +1,7 @@ #!/bin/bash #=============================================================================== -# VPS 快照备份脚本 v2.2 +# VPS 快照备份脚本 v2.3 # 支持: Ubuntu, Debian, CentOS, Alpine # 功能: 创建/恢复快照 + rsync 远程同步 + Telegram 通知 + 自动清理 #=============================================================================== @@ -22,7 +22,7 @@ SSH_KEY_PATH="/root/.ssh/vps_snapshot_key" print_banner() { echo -e "${BLUE}" echo "╔═══════════════════════════════════════════════════════════╗" - echo "║ VPS 快照备份脚本 v2.2 ║" + echo "║ VPS 快照备份脚本 v2.3 ║" echo "║ 支持 Ubuntu/Debian/CentOS/Alpine ║" echo "╚═══════════════════════════════════════════════════════════╝" echo -e "${NC}" @@ -301,12 +301,23 @@ run_backup() { send_telegram "🔄 开始备份%0AVPS: ${VPS_NAME}%0A时间: $(date '+%Y-%m-%d %H:%M:%S')" local snapshot=$(create_snapshot) + if [ ! -f "$snapshot" ]; then + send_telegram "❌ 备份失败%0AVPS: ${VPS_NAME}%0A原因: 快照创建失败" + error "快照创建失败" + return 1 + fi + local size=$(du -h "$snapshot" | cut -f1) local filename=$(basename "$snapshot") - send_telegram "📦 快照完成%0AVPS: ${VPS_NAME}%0A文件: ${filename}%0A大小: ${size}%0A开始同步到远程..." + send_telegram "📦 快照完成%0AVPS: ${VPS_NAME}%0A文件: ${filename}%0A大小: ${size}%0A开始同步..." + + if ! sync_to_remote "$snapshot"; then + send_telegram "❌ 同步失败%0AVPS: ${VPS_NAME}%0A原因: 远程同步失败" + error "远程同步失败" + return 1 + fi - sync_to_remote "$snapshot" cleanup_local cleanup_remote