之前我一直使用 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 镜像,完成安装。

在 Virtual Machine Manager 上创建 Windows 虚拟机
在 Virtual Machine Manager 上创建 Windows 虚拟机
在创建好的虚拟机中安装 Windows
在创建好的虚拟机中安装 Windows

创建用于备份的共享文件夹

虽然可以按照 iMazing 的默认配置,将数据备份到虚拟机自己的虚拟硬盘中,但个人认为将数据备份到 NAS 的共享文件夹中,是一种更好的选择。主要原因有如下几点:

  1. 备份数据可直接在虚拟机外访问。例如当虚拟机故障时,可在自己的电脑上恢复数据
  2. 可以利用 NAS 的快照等特性,保护备份数据的安全

而 iMazing 能够完美支持将数据备份到网络驱动器中,具体可参考本文:Backup an iPhone or iPad to an external drive, or another location

在 DSM 的控制面板中,可以创建共享文件夹,并为共享文件夹设置配额、数据校验等:

创建单独的共享文件夹,用于保存 iMazing 备份数据
创建单独的共享文件夹,用于保存 iMazing 备份数据
启用共享文件夹的配额、数据校验功能
启用共享文件夹的配额、数据校验功能

设置快照,保护备份数据

为了避免虚拟机或局域网中的设备感染勒索病毒,破坏备份数据;或为了避免备份数据由于误操作等原因被意外删除,建议通过快照的方式对备份数据进行保护。对于 DSM,可使用 Snapshot Replication 实现。

首先需要设置快照计划,定期创建快照:

设置快照计划,定期为共享文件夹创建快照
设置快照计划,定期为共享文件夹创建快照

然后设置快照保留策略。由于 iMazing 已经能够保存多个版本的备份,在 Snapshot Replication 中,无需再次保留过多的快照:

设置快照保留策略,自动删除旧快照,避免浪费磁盘空间
设置快照保留策略,自动删除旧快照,避免浪费磁盘空间

另外,如果对备份数据的安全性有更高的要求,还可以使用 Hyper Backup 等工具将其定期备份到外置存储设备。

安装并设置 iMazing

创建虚拟机、设置共享文件夹之后,就可以安装和设置 iMazing、备份自己的 iOS 设备了。首先在虚拟机中下载并安装 iMazing:

在虚拟机中安装 iMazing
在虚拟机中安装 iMazing

然后通过 Windows 的「映射网络驱动器」功能,将 NAS 的共享文件夹映射到虚拟机中的一个盘符:

将 NAS 上创建的共享文件夹,映射为 Windows 网络驱动器
将 NAS 上创建的共享文件夹,映射为 Windows 网络驱动器

接下来需要通过 USB 连接 iOS 设备到 NAS 上,并在 Virtual Machine Manager 的设置页面中,将 iOS 设备关联到虚拟机(仅第一次备份需要,后续可以直接通过 Wi-Fi 备份):

在虚拟机中连接 iOS USB 设备
在虚拟机中连接 iOS USB 设备

当 iOS 设备连接虚拟机后,等待 iMazing 成功识别,并设置备份目录为 NAS 的共享目录:

在 iMazing 中设置备份位置为 NAS 上的共享文件夹
在 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 上运行。感兴趣的读者可以尝试一下。

最后修改日期: 2022-08-29

留言

菠萝战宝 

学长,等我有钱了一定买一个iOS设备,我估摸着需要拣几万个矿泉水瓶子🤣~

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据