VMware Fusion 本身不提供图形化定时快照功能,但可通过 macOS launchd 结合 vmrun 命令行工具实现自动快照,需满足虚拟机开机、已安装 VMware Tools、正确配置 vmrun 路径三个前提条件,并注意快照非备份、需定期清理以避免磁盘膨胀。
vmware fusion 本身不提供图形化界面的“定时快照”功能(如 vcenter 中的计划任务),它没有内置的调度器来自动在运行状态下定期创建快照。但你可以通过组合系统级工具(macos 的 launchd)和 fusion 命令行工具 vmrun,实现虚拟机在运行时的定时快照——前提是虚拟机已开机且 vmware tools 已安装并正常运行。
确认前提条件
以下三点必须满足,否则定时快照会失败:
- 虚拟机处于开机状态(非挂起/关机):vmrun 拍摄运行中虚拟机的快照依赖 VMware Tools 正常工作;
- 已安装并启用 VMware Tools:它负责同步内存、文件系统状态,确保快照一致性;
-
使用 vmrun 命令行工具:路径通常为
/Applications/VMware Fusion.app/Contents/Library/vmrun,需赋予可执行权限。
手动验证快照命令是否有效
先在终端中测试单次快照,避免调度出错后才发现问题:
(替换/path/to/your.vmwarevm 为实际 .vmwarevm 文件完整路径)
/Applications/VMware\ Fusion.app/Contents/Library/vmrun -T fusion snapshot "/path/to/your.vmwarevm" "auto-snap-$(date +%Y%m%d-%H%M)"
成功执行后,可在 Fusion 界面的“快照管理器”中看到新快照,名称含时间戳。
用 launchd 创建定时任务
macOS 推荐用 launchd 替代 cron(更稳定、支持开机启动、能正确加载环境变量):
- 新建一个 plist 文件,例如
~/Library/LaunchAgents/com.vmware.fusion.autosnap.plist; - 内容示例(每天上午 10 点执行):
<?xml version="1.0" encoding="UTF-8"?><br>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><br>
<plist version="1.0"><br>
<dict><br>
<key>Label</key><br>
<string>com.vmware.fusion.autosnap</string><br>
<key>ProgramArguments</key><br>
<array><br>
<string>/Applications/VMware Fusion.app/Contents/Library/vmrun</string><br>
<string>-T</string><br>
<string>fusion</string><br>
<string>snapshot</string><br>
<string>/Users/yourname/Virtual\ Machines/MyVM.vmwarevm</string><br>
<string>daily-$(date +\%Y\%m\%d-\%H\%M)</string><br>
</array><br>
<key>StartCalendarInterval</key><br>
<dict><br>
<key>Hour</key><br>
<integer>10</integer><br>
<key>Minute</key><br>
<integer>0</integer><br>
</dict><br>
<key>RunAtLoad</key><br>
<false/><br>
<key>StandardOutPath</key><br>
<string>/tmp/fusion-snap.log</string><br>
<key>StandardErrorPath</key><br>
<string>/tmp/fusion-snap-error.log</string><br>
</dict><br>
</plist>
保存后,在终端运行:launchctl load ~/Library/LaunchAgents/com.vmware.fusion.autosnap.plist
即可激活定时任务。日志会输出到指定路径,便于排查失败原因(比如虚拟机未开机、路径错误、权限不足)。
注意事项与风险提醒
快照不是备份,这点在 Fusion 环境中尤其关键:
- 所有快照都依赖原始虚拟磁盘文件(.vmdk),一旦该文件损坏或被误删,全部快照失效;
- 频繁创建快照会显著增加磁盘占用(每个快照生成 delta.vmdk),建议配合定期清理策略(如保留最近 3 个);
- Fusion 不支持对加密虚拟机或启用了“共享虚拟机”功能的虚拟机自动拍摄快照;
- 若虚拟机正在执行大量 I/O(如数据库写入),快照可能短暂卡顿,但一般不影响一致性(VMware Tools 会协调冻结)。

















