:: 设置变量 set OVF_TOOL_PATH="C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" set ESXI_URL="https://192.168.1.100:443" set ESXI_USERNAME="root" set ESXI_PASSWORD="your_password" set VM_NAME="iKuai" set BACKUP_DIR=%USERPROFILE%\Desktop\ESXi_Backups
:: 创建备份目录 if not exist "%BACKUP_DIR%" ( mkdir "%BACKUP_DIR%" echo ✅ 创建备份目录: %BACKUP_DIR% )
:: 生成带日期的备份文件名 for /f "tokens=1-3 delims=/ " %%a in ('date /t') do ( set CURRENT_DATE=%%a-%%b-%%c ) for /f "tokens=1-3 delims=: " %%a in ('time /t') do ( set CURRENT_TIME=%%a-%%b-%%c ) set BACKUP_FILENAME=ESXI_%VM_NAME%_%CURRENT_DATE%_%CURRENT_TIME%.ova
@echo off set OVF_TOOL_PATH="C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" set ESXI_URL="https://192.168.1.100:443" set ESXI_USERNAME="root" set ESXI_PASSWORD="your_password" set VM_NAME="iKuai" set BACKUP_DIR=%USERPROFILE%\Desktop\ESXi_Backups
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%" for /f "tokens=1-3 delims=/ " %%a in ('date /t') do set CURRENT_DATE=%%a-%%b-%%c
set ESXI_URL="https://192.168.1.100:443" :: 替换为您的 ESXi 主机 IP 地址 set ESXI_USERNAME="root" :: ESXi 登录用户名 set ESXI_PASSWORD="your_password" :: ESXi 登录密码 set VM_NAME="iKuai" :: 要备份的虚拟机名称
可选配置参数:
1 2
set BACKUP_DIR="D:\ESXi_Backups" :: 更改备份存储位置 set OVF_TOOL_PATH="D:\Tools\VMware OVF Tool\ovftool.exe" :: 自定义 OVF Tool 路径
安全建议:
🔒 不要硬编码密码:使用以下更安全的方法
📝 使用环境变量:
1 2
:: 设置环境变量(在系统属性中配置) set ESXI_PASSWORD=%ESXI_BACKUP_PASSWORD%
set OVF_TOOL_PATH="C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" set ESXI_URL="https://192.168.1.100:443" set BACKUP_DIR=%USERPROFILE%\Desktop\ESXi_Backups
echo 📁 可用的备份文件: dir /b "%BACKUP_DIR%\*.ova"
echo. set /p BACKUP_FILENAME="请输入要恢复的备份文件名: " set /p VM_NAME="请输入恢复后的虚拟机名称: "
@echo off set OVF_TOOL_PATH="C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" set ESXI_URL="https://192.168.1.100:443" set ESXI_USERNAME="root" set ESXI_PASSWORD="your_password" set BACKUP_DIR=%USERPROFILE%\Desktop\ESXi_Backups set VM_LIST="iKuai OpenWRT Windows10 Ubuntu-Server"
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%" for /f "tokens=1-3 delims=/ " %%a in ('date /t') do set CURRENT_DATE=%%a-%%b-%%c
for %%V in (%VM_LIST%) do ( echo 📋 正在备份虚拟机: %%V %OVF_TOOL_PATH% --noSSLVerify --acceptAllEulas --powerOffSource %ESXI_URL%/sfc-cgi-bin/sfcgi.cgi?sid=%%V "%BACKUP_DIR%\ESXI_%%V_%CURRENT_DATE%.ova" if !errorlevel! equ 0 ( echo ✅ %%V 备份成功 ) else ( echo ❌ %%V 备份失败 ) )
echo 📊 备份完成摘要 dir "%BACKUP_DIR%\*%CURRENT_DATE%.ova" /s pause
2. 增量备份策略
1 2 3 4 5 6 7 8
:: 基于时间戳的增量备份 for /f "tokens=1-3 delims=/ " %%a in ('date /t') do set CURRENT_DATE=%%a-%%b-%%c for /f "tokens=1-2 delims=: " %%a in ('time /t') do set CURRENT_TIME=%%a%%b
set BACKUP_FILENAME=ESXI_%VM_NAME%_%CURRENT_DATE%_%CURRENT_TIME%.ova