无论是DS Photo 还是 Moments 备份体验都不是很好,所以直接从icloud备份到Nas比较靠谱。
打开Docker,如果没有从套件中心搜索安装。

在注册表中搜索Debian选择第二个安装(也可以使用其他的),版本选择latest即可。

利用已经下载好的映像启动新容器(可以在高级设置中选择自动重新启动)。

打开高级设置设置映射目录,第一个是本地目录,第二个是Debian的目录,即文件夹备份位置,其他设置无需更改。

启动容器,进入终端界面。

由于系统是精简版,所以需要安装依赖。
依次执行下面的命令
apt-get update
apt-get install python3-pip
安装好后安装icloud_photos_downloader,支持 python 2.7 和 python 3,图省事直接用自带的 python 2.7 pip 安装
pip install icloudpd
安装成功后使用icloudpd命令下载最近200张照片进行测试,登录过程中需要验证短信或者两步验证,按照提示操作即可。
icloudpd -d /mnt --username==xxx@xxx.com --password=12345 --recent 200
测试成功后可以将命令加入定时运行,同理需要先安装crontab
apt-get install cron
将命令编为脚本
#!/bin/bash
icloudpd -d /mnt --username==xxx@xxx.com --password=12345
将脚本命名为backup.sh保存在/root目录下
设置定时运行
crontab -e
将脚本添加进去每隔2小时运行一次
0 */2 * * * /root/backup.sh >> /root/icloud_backup.log 2>&1
正常的话输出的日志文件应该是这样的

之后可以用Hyper backup将这个文件夹备份到Onedrive等路径
建议群晖发布一个专门备份iCloud的套件