本期来介绍一款关于 iPhone 整机备份的项目:razeencheng/iosbackup
,它基于开源项目libimobiledevice
实现(libimobiledevice 是一个跨平台软件库,它通过原生协议与 iOS 设备进行交互)。该工具并没有在GHUB立项,可于 Docker hub 搜索到。
关于iOS,普通的照片、短信备份之类不提,方式方法很多。
目前苹果官方支持两种 iPhone 整机备份:1.iCloud云备份;2.iTunes/Finder备份。这俩说实话,都不咋好用。。。前者需要购买空间且效率问题想当明显,后者则主要是MAC空间问题(Windows应用做得烂到根本不想用)。
本项目可通过 Docker 部署在 Linux amd64/x86_64 服务器上,基于 Wi-Fi 自动将 iPhone 的数据备份到 NAS 等 Linux 的服务器。
项目介绍
一款可以通过 USB 或 WI-FI 将 iOS 设备整机备份到你的 NAS 的小工具,基于开源项目 libimobiledevice 实现,旨在更方便的实现手机整机备份。
功能支持:
- 支持识别Wi-Fi或USB接入自动备份;
- 指定备份时间段;
- 指定备份时间间隔;
- 指定开启备份的最小电量;
- 仅充电时备份;
准备工作
选其一执行,就是当个跳板。
Windows
先到App Store下载一个叫Apple Devices的应用。
安装完毕后将手iPhone与电脑相连,在iPhone上信任该设备。
之后出现如下界面,勾选「接入Wi-Fi时显示此iPhone」,点击「应用」,将设备拔下即可。
Mac
无需下载任何软件,直接将iPhone与Mac相连。同样的需要信任该设备,在访达中点击iPhone,也勾选「接入Wi-Fi时显示此iPhone」,保存后拔下设备即可。
部署流程
通过Docker Compose的方式在NAS中进行部署。
部署代码如下:
services:
iosbackup:
image: razeencheng/iosbackup:latest
container_name: iosbackup
restart: always
network_mode: host
privileged: true # 特权模式
environment:
- PORT=9000 # 设置 Web 服务监听的端口,可自定义
- LOG_LEVEL=INFO # 日志级别,默认 WARN
volumes:
- /var/run/dbus:/run/dbus # 共享主机 DBus,iOS 设备需要
- /dev/bus/usb:/dev/bus/usb # 共享主机的 USB 设备
- /share/Container/iosbackup/configs:/configs # 配置文件挂载路径
- /share/Container/iosbackup/lockdown:/var/lib/lockdown # 生成的默认配置目录
# 数据备份:单独放在大容量非系统盘
- /share/BackupData/iosbackup/backups:/backups # 备份数据挂载路径,不建议放在系统盘
打开Docker管理工具(Container Station),创建新的应用程序。
使用展示
部署完毕后,打开浏览器,若按照上文部署则输入NAS_IP:9000并回车,则可看到控制台界面。
项目虽说支持Wi-Fi自动备份,但最初的识别设备仍需要依靠USB接入实现。
将iPhone通过USB接口,连接至NAS。如果手机未弹窗信任设备,可点击「重启 usbmuxd」,然后手动刷新设备。
正常信任设备后,会自动刷新设备,出现以下类似的界面。修改配置并保存。第一次备份建议通过USB。备份文件目录我们之前也已经映射完毕。
配置好后,拔下手机,右上角会由USB切换为Wi-Fi连接。下图来自项目作者。
后续若满足条件,就会在接入同一局域网后自动进行增量备份,而无需USB连接。
如需要系统还原至某个版本,可通过将NAS挂载至Mac或PC,利用对应恢复工具还原即可。
最后
项目不错,但是比较挑设备。。。USB协议开放程度不同,可能也是NAS品牌方为安全性做考量?这个不得而知。
反正多台白NAS以及虚拟NAS系统,折腾蛮长时间,可用的不多。手头设备有限,但可以肯定的是白群、飞牛可用,极空间部分可用。有需求的朋友可以自己装个试试。
感谢观看,本文完。
更多内容,请参照项目作者的blog:
评论区