PVE备份到115网盘


一、飞牛nas中远程挂载115网盘

二、修改115网盘到本地目录

参考:将各类网盘/远程存储映射为飞牛本地存储vol1 - 攻略分享 飞牛私有云论坛 fnOS

三、飞牛SMB或者NFS分享设置115网盘目录

并且在PVE中mount

四、PVE中添加脚本

脚本地址:/root/vzdump-sync-to-115.sh

脚本作用:

PVE 先备份到本地真实目录 / NAS真实目录

备份成功后 hook 脚本再复制到 115 映射目录

PowerShell 全选
#!/bin/bash
set -euo pipefail

# PVE 会传入阶段名,例如 backup-start、backup-end、job-end 等
PHASE="${1:-}"
MODE="${2:-}"
VMID="${3:-}"

# 只在单台 VM/CT 备份成功后执行同步
[ "$PHASE" = "backup-end" ] || exit 0

DEST="/mnt/115/PVEData/dump"

# TARGET/TARFILE 在不同 PVE 版本或备份类型里可能不同,所以做兼容处理
SRC="${TARGET:-${TARFILE:-}}"

# 如果环境变量里没有备份文件路径,就从 DUMPDIR 里按 VMID 找最新备份
if [ -z "$SRC" ] || [ ! -f "$SRC" ]; then
  SRC="$(find "${DUMPDIR:-/var/lib/vz/dump}" -maxdepth 1 -type f \
    \( -name "vzdump-qemu-${VMID}-*.vma.*" -o -name "vzdump-lxc-${VMID}-*.tar.*" \) \
    -printf '%T@ %p\n' | sort -nr | head -1 | cut -d' ' -f2-)"
fi

[ -n "$SRC" ] && [ -f "$SRC" ] || {
  echo "找不到 VMID=${VMID} 的备份文件,跳过同步"
  exit 1
}

mkdir -p "$DEST"

echo "开始同步备份文件:$SRC -> $DEST/"

# 115 映射目录 rename 可能失败,所以不要依赖 rsync 默认临时文件改名逻辑
cp -v "$SRC" "$DEST/"

# 同步对应日志文件,方便以后排查
if [ -n "${LOGFILE:-}" ] && [ -f "$LOGFILE" ]; then
  cp -v "$LOGFILE" "$DEST/"
fi

echo "同步完成"

脚本添加执行权限

PowerShell 全选
chmod +x /root/vzdump-sync-to-115.sh

测试:

Markup 全选
vzdump 161 \
  --storage local \
  --mode stop \
  --compress zstd \
  --script /root/vzdump-sync-to-115.sh

 

注意两点:

  1. cp 到 115 期间,PVE 备份任务会一直显示运行中,直到复制完成。
  2. 如果 115 映射目录断开或上传失败,备份本地文件仍然已经生成,只是同步失败。

 

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:关于PVE使用命令添加挂载存储
下一篇:没有了
评论列表

发表评论

评论内容
昵称:
关联文章

PVE备份115
115 资源留底
Exsi迁移pve
PVE复制虚拟机硬盘另一个虚拟机
SQLServer数据库备份 [实践]
MSSQL数据库备份+日志搜索
工具
PVE传感器温度查看
PVE安装openwrt
PVE8硬件直通
PVE从Exsi导入win10后,硬盘无法识别
开源》》文件共享软件
关于PVE使用命令添加挂载存储
PVE CT容器的使用
PVE更新国内源
PVE传感器温度查看
C扩容被恢复分区挡住了
Docker中安装SqlServer后数据库备份错误
PVE黑苹果安装
PVE 虚拟机使用AX210蓝牙直通

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码