之前我一直使用 iMazing 备份我的 iOS 设备。iMazing 能够根据用户设置的备份计划,在电脑打开时自动备份 iOS 设备。
在我开始使用 iPad Pro 之后,电脑的打开频率比之前低了不少,导致数据无法及时备份。为了继续实现 iOS 设备的自动备份,我开始尝试将这一任务交给我的 NAS.
简单说,就是在 NAS 上安装 Windows 虚拟机,在虚拟机中安装 iMazing 用来备份 iOS 设备,同时通过快照等功能避免数据被勒索软件破坏。整体步骤并不复杂,如果你已经熟悉上述操作,则不必继续阅读本文。
在下文中,我将以 Synology DSM 为例,介绍如何实现这一功能。
> 本文首发于少数派,欢迎关注:https://sspai.com/post/56897
创建 Windows 虚拟机
理论上,可以通过在 NAS 上运行 libimobiledevice 等工具,实现原生的 iOS 设备备份功能。但由于操作步骤较为繁琐,所以我还是选择了在虚拟机中运行 iMazing.
在 DSM 中,可使用 Virtual Machine Manager 创建虚拟机,上传 Windows 镜像,完成安装。
创建用于备份的共享文件夹
虽然可以按照 iMazing 的默认配置,将数据备份到虚拟机自己的虚拟硬盘中,但个人认为将数据备份到 NAS 的共享文件夹中,是一种更好的选择。主要原因有如下几点:
- 备份数据可直接在虚拟机外访问。例如当虚拟机故障时,可在自己的电脑上恢复数据
- 可以利用 NAS 的快照等特性,保护备份数据的安全
而 iMazing 能够完美支持将数据备份到网络驱动器中,具体可参考本文:Backup an iPhone or iPad to an external drive, or another location
在 DSM 的控制面板中,可以创建共享文件夹,并为共享文件夹设置配额、数据校验等:
设置快照,保护备份数据
为了避免虚拟机或局域网中的设备感染勒索病毒,破坏备份数据;或为了避免备份数据由于误操作等原因被意外删除,建议通过快照的方式对备份数据进行保护。对于 DSM,可使用 Snapshot Replication 实现。
首先需要设置快照计划,定期创建快照:
然后设置快照保留策略。由于 iMazing 已经能够保存多个版本的备份,在 Snapshot Replication 中,无需再次保留过多的快照:
另外,如果对备份数据的安全性有更高的要求,还可以使用 Hyper Backup 等工具将其定期备份到外置存储设备。
安装并设置 iMazing
创建虚拟机、设置共享文件夹之后,就可以安装和设置 iMazing、备份自己的 iOS 设备了。首先在虚拟机中下载并安装 iMazing:
然后通过 Windows 的「映射网络驱动器」功能,将 NAS 的共享文件夹映射到虚拟机中的一个盘符:
接下来需要通过 USB 连接 iOS 设备到 NAS 上,并在 Virtual Machine Manager 的设置页面中,将 iOS 设备关联到虚拟机(仅第一次备份需要,后续可以直接通过 Wi-Fi 备份):
当 iOS 设备连接虚拟机后,等待 iMazing 成功识别,并设置备份目录为 NAS 的共享目录:
最后启动备份,等待首次备份完成。后续设置备份计划、打开 Wi-Fi 备份,即可实现 iOS 设备与 NAS 连接同一个网络后,自动进行备份:
Update (2022-08-29)
最近一位读者通过邮件向我咨询,自己的 NAS 型号是 DS418play,运行 Windows 虚拟机可能会性能不足,想找一种更轻量级的方案。
根据我之前的了解,使用 libimobiedevice 确实能实现在 Linux 环境下备份 iOS 设备,但是无法实现 Wi-Fi 备份。所以,我开始上网查找是否运行新的方案。
经过查找,我果然发现了一篇使用 Raspberry Pi 自动备份 iOS 设备的文章,由于 libimobiledevice 不支持无线备份,文章中搭配使用了另外一款软件 usbmuxd2,从而让 libimobiledevice 支持了无线备份。
我还没有亲自尝试这一方案,但理论上能够通过 docker 打包这两款工具,在 NAS 上运行。感兴趣的读者可以尝试一下。
学长,等我有钱了一定买一个iOS设备,我估摸着需要拣几万个矿泉水瓶子🤣~