侧边栏壁纸
博主头像
羊刀仙的部落格 博主等级

很有力量。

  • 累计撰写 317 篇文章
  • 累计创建 61 个标签
  • 累计收到 15 条评论

目 录CONTENT

文章目录

iPhone/iPad 直接整机备份到NAS,支持自动增量备份!开源项目iOS Backup

羊刀仙
2026-10-29 / 0 评论 / 0 点赞 / 0 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
GW树洞

高速稳定 · 海外专线

  • 自用推荐
  • 90天使用时长
  • 70+ 节点分布
  • IEPL专线 油管4K无压力
  • 全平台客户端
  • 不限制在线设备
立即注册

苹果官方提供了 iCloud,也可以通过 Mac 或 Windows 电脑对 iPhone/iPad 进行备份。

不过iCloud不开家庭组的话性价比较低,通过PC又比较麻烦。

近期找到一个 Docker 项目 iOS Backup。自托管的 iPhone/iPad 备份工具,通过 USB 或 Wi-Fi (自动)备份到 NAS/Linux,支持定时备份、加密和通知。(下图摘自项目页)

09-usb-backup-completed.png

其实也就第一次要 USB 连接,认了设备后,后续只要加入同一局域网 Wi-Fi,手机、平板便会自动连上,按你的配置进行增量备份。

关于项目

完整项目名:razeencheng/iosbackup。

  • 可备份内容: 符合苹果备份机制的数据,例如照片、信息、设备设置、应用数据等,具体取决于 iOS 的备份规则及应用自身的数据存储方式。

  • 不等于所有: Face ID、Touch ID、Apple Pay 卡片等敏感信息不会像普通文件一样完整复制;部分云端同步数据也可能不包含在本地设备备份中。

  • 不等于完整克隆: iOS 系统本身、固件和部分受保护的数据不属于普通设备备份的逐扇区复制范围。

如果你是威联通NAS,碰到配对识别问题,请看文章最后模块部分。

为什么要放到 NAS 上

对于已经在使用 NAS 的朋友来说,把手机备份也纳入现有存储体系,有几个比较实际的好处。

1. 不必每次都依赖电脑

传统电脑备份需要准备 Mac 或 Windows 电脑。使用 iOS Backup 后,可以把备份服务部署在 NAS 上,通过浏览器管理任务。

2. 备份数据保存在自己的存储设备

备份文件存放在 NAS 指定目录内,容量由自己的存储空间决定,不必完全依赖云端空间配额。

3. 后续备份支持增量更新

首次备份需要建立初始备份集,通常会传输较多数据。后续备份可以基于已有备份集更新,不需要每次都从头复制全部内容。

不过要注意,增量更新并不等于自动保留历史版本。如果想回退到某个时间点的备份状态,还需要另外配置 NAS 快照或独立备份副本。

4. 可以管理多台设备

家里有多台 iPhone 或 iPad,不必为每台设备重复部署一个容器。同一个 iOS Backup 实例即可管理多台设备(每台设备都需要独立完成识别、配对和备份设置)。

部署 iOS Backup

这次使用 威联通 的 Container Station 部署。

威联通 NAS 涉及到 USB 相关的部分比较特殊,不过其中已经被我逐一解决。其他品牌NAS应该问题不大。

本文后续使用的宿主机路径为:/share/Container/iosbackup/data/,如果你的 NAS 使用其他共享文件夹,需要将后续 Compose 中的路径改成实际路径。

打开 Container Station,进入「应用程序」→「创建」,应用名称填写 iosbackup。

将以下配置完整粘贴到 Compose 编辑框:

services:
  iosbackup:
    image: ghcr.io/razeencheng/iosbackup:latest
    container_name: iosbackup
    network_mode: host
    privileged: true
    restart: unless-stopped
    stop_grace_period: 20s

    tmpfs:
      - /tmp:size=64m,mode=1777
      - /var/run:size=16m,mode=0755

    environment:
      PORT: "9000"
      LOG_LEVEL: "INFO"
      IOSBK_LISTEN_ADDR: "0.0.0.0"
      IOSBK_AUTH_ENABLED: "true"
      IOSBK_CONFIGS_DIR: "/configs"
      IOSBK_BACKUPS_DIR: "/backups"
      IOSBK_DEVICE_DISCONNECT_GRACE: "30s"
      IOSBK_ENABLE_EXPERIMENTAL_OPERATIONS: "false"

    volumes:
      - /share/Container/iosbackup/data/backups:/backups  # 备份文件,建议换
      - /share/Container/iosbackup/data/configs:/configs  # 应用配置
      - /share/Container/iosbackup/data/lockdown:/var/lib/lockdown # 设备配对记录
      - /dev/bus/usb:/dev/bus/usb
      - /run/udev:/run/udev:ro

    logging:
      options:
        max-size: "10m"
        max-file: "3"

这份配置基于项目官方 Compose,主要将数据目录改为威联通的本地路径。

截屏2026-10-28 10.16.45.png

有几个关键点:

  • network_mode: host:使用 NAS 主机网络,默认网页端口为 9000,因此不需要额外添加 ports。
  • privileged: true:让容器具备访问 USB 设备所需的权限。
  • /dev/bus/usb:将 NAS 的 USB 设备节点挂载到容器中。
  • /run/udev:提供只读的设备信息目录。
  • tmpfs:用于容器的临时文件,不负责保存长期备份数据。

启动并登录

首先打开容器日志,找到首次启动生成的管理员密码。

截屏2026-10-28 10.18.07.png

在浏览器中输入NAS局域网IP:9000,输入管理员密码即可登录。

截屏2026-10-28 10.18.57.png

如果密码错误,先检查复制的内容是否包含多余字符。若找不到首次启动日志,可根据官方说明从持久化的 configs 目录中找回密码,不要直接删除整个配置目录。

登录成功后,首次使用向导直接跳过就行

截屏2026-10-28 16.47.21.png

连接 iPhone

第一步:电脑上准备无线连接

这一步是为 Wi-Fi 备份做的提前准备。

通过 USB 传输线材,将iPhone连接至Mac或Windows电脑。iOS端弹出信任设备窗口,点击「信任」,并输入锁屏密码。

1-Swrw.jpg

以Mac为例,Finder 中,选中边栏中的设备,打开「通用」,勾选通过 Wi-Fi 显示该设备的选项,再点击「应用」。

截屏2026-10-28 10.33.51 拷贝.png

目前我没有Windows设备,大家参照下图。

截屏2026-10-28 16.33.36.png

接着,再使用支持数据传输的 USB 数据线,将 iPhone 连接到 NAS 的 USB 端口。解锁手机。如果出现「信任此电脑」提示,点击「信任」,并按提示输入手机锁屏密码。

第二步:刷新设备列表

回到 iOS Backup 网页,点击「刷新设备」。

截屏2026-10-28 10.25.44.png

如果识别成功,页面会显示设备名称、型号、USB 连接状态及电量信息。例如我这台 iPhone 16 Pro Max 的内部机型标识为 iPhone17,2。

截屏2026-10-28 11.41.04.png

关于怎么备份,我就不多啰嗦。一般建议先USB执行过一次完整备份后,后续再使用Wi-Fi备份,定时备份等功能。

截屏2026-10-28 11.49.01.png

备份注意事项

首次备份可能需要较长时间,取决于手机已用容量、文件数量、USB 通信状态及 NAS 性能。

不要只看进度达到 100%。只有应用明确显示备份完成,才能认为本次任务成功结束。

备份文件默认保存在 NAS 的:Container/iosbackup/data/backups/

如果设备原本启用了备份加密,请妥善保存原有的备份密码。应用管理员密码和应用内部加密主密钥都不能替代设备备份密码。

威联通 NAS 刷新不到 iPhone

在威联通 NAS 上部署 iOS Backup 后,大概率会遇到这样的情况:QTS 管理界面能看到手机接入,文件管理器等页面也能将iPhone作为正常的移动存储设备进行挂载,但 iOS Backup 应用页面无法配对。

QTS 能识别手机,不代表容器就能够正常与 iPhone 通信。结合本次在威联通 Qu405 上的实际排查,下面整理一套针对 iOS Backup 刷新设备失败 的处理流程。

一、先检查手机和数据线

先尝试最简单的操作:

  1. 使用支持数据传输的 USB 数据线,将 iPhone 直接连接到 NAS。
  2. 解锁手机,出现「信任此电脑」提示时点击「信任」,并输入手机锁屏密码。
  3. 关闭 QTS File Station 中打开的 iPhone 文件夹。
  4. 返回 iOS Backup 网页,点击「刷新设备」。
  5. 如果仍然没有设备,尝试更换 USB 端口或数据线,再刷新一次。

如果设备已经出现,并显示「USB 已连接」,就不需要继续执行后面的 SSH 命令。

二、通过 SSH 检查 QTS 是否识别 iPhone

如果网页仍然找不到设备,可以开启 QTS 的 SSH 功能,通过 Mac 终端登录 NAS。

ssh qnap@192.168.100.138

将用户名和 IP 替换成自己的实际配置。登录后执行:

lsusb

查看输出中是否出现 Apple 设备,例如:

Bus 003 Device 006: ID 05ac:12a8 Apple, Inc.

这里的 05ac 是 Apple 的 USB 厂商识别码,12a8 是本次设备的产品 ID。

也可以尝试只筛选 Apple 设备:

lsusb -d 05ac:

如果系统提示 lsusb: command not found,或者筛选命令不支持,不要直接认定 USB 故障。

如何判断:

  • 没有出现 Apple 设备:优先检查数据线、USB 端口和 QTS 的设备识别。
  • 出现 Apple 设备:说明 NAS 宿主机已经识别到手机,但还不能证明容器能够正常通信。

三、检查容器的 USB 挂载

如果 QTS 能识别 iPhone,但网页仍然没有设备,执行:

docker inspect iosbackup --format '{{json .Mounts}}'

确认输出中包含以下挂载关系:

/dev/bus/usb -> /dev/bus/usb
/run/udev -> /run/udev

再检查容器状态:

docker inspect iosbackup --format '状态={{.State.Status}} 特权模式={{.HostConfig.Privileged}} 网络模式={{.HostConfig.NetworkMode}}'

正常情况下,应显示:

  • 容器状态为 running。
  • 特权模式为 true。
  • 网络模式为 host。

如果 USB 挂载缺失,应先检查 Compose 配置,而不是直接修改 USB 设备权限。

四、查看 USB 通信日志

如果 QTS 能识别 iPhone,容器挂载也正常,但网页依然找不到设备,执行:

docker logs --since 15m iosbackup 2>&1 | grep -Ei 'usb|iphone|device|usbmux|error|failed'

重点关注是否出现类似错误:

Could not set configuration 4
0xfffffffa

在本次 Qu405 的实际测试中,容器能够发现 Apple 设备,但 usbmuxd 在设置 USB 配置时反复失败。

这说明设备已经被发现,但 USB 初始化操作遇到了问题。0xfffffffa 对应 libusb 的 LIBUSB_ERROR_BUSY,表示操作遇到忙碌状态,但不能仅凭错误码确定具体原因。

如果出现类似错误,可以继续尝试:

  1. 关闭 File Station 中打开的 iPhone 文件夹。
  2. 在 QTS「外部设备」中检查 Apple iPhone。如果可以安全弹出,可尝试弹出后重新连接;如果提示设备正在使用,则取消操作。
  3. 保持容器运行,重新连接 iPhone,解锁并完成信任授权。
  4. 返回 iOS Backup 网页,点击「刷新设备」。
  5. 再次查看最新日志,确认错误是否仍然出现。

如果问题仍然存在,不要反复重装容器。此时应结合 USB 设备状态和最新日志继续判断。

五、还是刷不出?按实际情况处理

如果 QTS 能识别 iPhone,但 iOS Backup 网页始终找不到设备,先通过 SSH 确认 USB 设备是否存在:

lsusb

如果能看到 Apple 设备,再检查容器挂载:

docker inspect iosbackup --format '{{json .Mounts}}'

确认 /dev/bus/usb 已挂载到容器内。

接着查看最近的 USB 通信日志:

docker logs --since 15m iosbackup 2>&1 | grep -Ei 'usb|iphone|device|usbmux|error|failed'

如果出现 Could not set configuration 4 或 0xfffffffa,说明 USB 设备初始化遇到了问题。

此时可以关闭 File Station 中打开的 iPhone 文件夹,重新连接手机、完成信任授权,再刷新设备列表。若仍然失败,结合日志继续检查,不要反复重装容器。

在本次 Qu405 实测中,经过 USB 设备检查、容器挂载检查、日志排查及重新连接后,iOS Backup 最终成功显示了 iPhone 16 Pro Max 的型号、电量和 USB 连接状态。不过,实际操作中没有确认某一个步骤就是唯一有效的修复原因,因此不能保证所有 QNAP 机型都能通过相同操作解决。

判断设备是否恢复正常,最终看网页能否显示设备信息及 USB 连接状态,而不是只看 lsusb 有没有输出。

最后

感谢观看,本文完。

0

评论区