群晖相关 篇一:抛弃第三方软件,群晖自动备份 iCloud 高分辨率照片
背景说明
群晖为照片备份提供了很多的解决方案,手机端的方案一般是用 DS Photo 或比较新的 Moments。这套备份方法基本靠谱,但对我来说有个大问题。
我的主力手机是一部 64GB iPhone,对于很多人(包括我来说)64GB 都是不够的,所以在 iPhone 上设置了优化存储空间,高分辨率照片存储在 iCloud,手机存储低分辨率照片。这样设置下来,利用群晖备份手机照片只能备份低分辨率的照片,而且无论 DS Photo 还是 Moments 备份体验都不是很好。
需求很简单:群晖自动从 iCloud 服务器下载原始分辨率照片并备份,不要经过我的手机。如此这样,iPhone 只要备份照片到 iCloud,群晖会搞定后期所有的备份。
解决方案
于是在网上找到了几个解决方案,自己找到一个可以满足我需要的方案:利用 Github 上面的 icloud_photos_downloader 自动备份 iCloud 照片到群晖。
这款软件本身提供了一个 Docker 镜像,可以直接部署在支持 Docker 的群晖上跑。不过目前不是所有的群晖都能使用 Docker 或者虚拟机,哪些机型支持可以查看一下群晖的官网,我用的 DS218+,支持 Docker。
我现在有一个 Ubuntu Docker 在跑,所以直接在 Ubuntu 里面运行这个同步程序:
在群晖 Docker 中安装 Ubuntu
Ubuntu 中安装上面的备份软件,设置好 iCloud 账号密码
crontab 定时运行备份任务
同步软件会将 iCloud 云端所有原始照片保存下来(包括 HEIC 格式),然后利用群晖的 Cloud Sync 套件将照片备份到 OneDrive 和阿里云 OSS。这样就可以保证所有的照片的安全备份了。以后即使手机上删除了照片(iCloud 也会同步删除),在群晖和云端也有数个备份。
这个方法个人认为很方便而且无痛。
具体教程
1.在群晖中安装 Ubuntu Docker
群晖 Docker 注册表中搜索 Ubuntu,大部分系统应该都能运行,如果你担心有什么幺蛾子,可以用和我一样的 Docker。
2. Docker 设置
在“映像”中启用这个 Docker,直接点击“高级设置”,其他设置如下
“高级设置”:勾选“启用自动重新启动”
“卷”:点击“添加文件夹”,如下图,第一项是群晖的备份路径,根据你的实际情况设置,第二项是 Ubuntu 里面的备份目标路径
如果没有更多需要,后面几个选项可不用填写,点击下一步,然后点击应用启动这个 Docker
3. 在 Docker 安装软件备份
按照下图的方式进入 Ubuntu 终端(上一步如果设置了端口转发,也可以直接 ssh 进入)。
4. 同步软件设置
现在要安装这款软件 icloud_photos_downloader,支持 python 2.7 和 python 3,图省事直接用自带的 python 2.7 pip 安装:
pip install icloudpd
安装成功后,可以运行下列代码查看运行结果,其中 /mnt 就是要下载的地址,recent 200 是要下载最近的200张,第一次运行可以不设置,下载所有 iCloud 照片。
/usr/local/bin/icloudpd /mnt --username= --password= --recent 200 --auto-dele
5. iCloud 同步设置
第一次运行后,如果你的 iCloud 设置了2次验证,需要根据操作进行验证,验证成功后很长是一段时间都不需要再次验证了。如果账号没有问题,建立一个脚本 backup.sh:
#!/bin/bash
pgrep -f icloudpd && echo "icloudpd is already running." && exit
/usr/local/bin/icloudpd /mnt --username= --password=--recent 200 --auto-delete
6. 定时任务设置
使用 crontab 定时运行脚本来同步 iCloud 账号,输入:
crontab -e
新建一条定时规则,我设置的是每2小时同步一次,同步结果输出到 icloud_backup.log:
0 */2 * * * /root/run.sh >> /root/icloud_backup.log 2>&1
7. 设置完毕
运行截图:
备份后的文件会以年-月-日的文件夹形式下载到你的群晖文件夹中。
到此为止,群晖已经能自动同步 iCloud 云端原始分辨率的照片了,而在 iPhone 端不需要任何额外的操作,只要保持 iPhone 和 iCloud 同步即可,不再需要第三方软件了哦。
群晖的照片,可以通过多种方案进行同步备份,我本人是用 cloud sync 同步到了 OneDrive 等平台。
DomYY
校验提示文案
lyzbt
校验提示文案
Imzo
校验提示文案
很多网友
校验提示文案
fatglobe
校验提示文案
aboutme
校验提示文案
爱买东西的约瑟
校验提示文案
Rainshaw
pytz.UnknownTimeZoneError('Can not find any timezone configuration')
校验提示文案
四点
校验提示文案
NJ高清
校验提示文案
coraloneee
校验提示文案
赚大客
校验提示文案
值友7747852074
校验提示文案
Vic王小浪
去看看
校验提示文案
叫我Z神
校验提示文案
yunzhishang
根本不用分高低分辨率, 直接无脑同步到synology, 然后删除本地照片释放空间, 16G就够用了, 何况是64G.
校验提示文案
YiliChen
校验提示文案
wangmillion2009
简单说就是群晖上的"icloud"
校验提示文案
BlackMuscat
校验提示文案
上树的鱼1
校验提示文案
清风凌
校验提示文案
relx
校验提示文案
Vic王小浪
去看看
校验提示文案
叫我Z神
校验提示文案
BlackMuscat
校验提示文案
guoq077
校验提示文案
wclebb
洋洋写出一大推内容后超出文字数量了……
简单来说,无论是 群晖 Docker 还是 虚拟机装的 Ubuntu 18.04 和 20.04 版 pip 和 Docker 都不行。剩下只有 iCloudPD 代码出现了兼容性问题了。
我只是小白,也趁在 周五、周六和今天尝试了不同的各种环境。
作为小白来说,我已经尝试了所有能尝试的方式,比如
群晖 Docker,不行;需要安装 Ubuntu,怕麻烦直接在虚拟机上搞。
虚拟机 Ubuntu 18.04版 pip 版,不行,后意识到是 2.7,升级嫌麻烦直接安装 20.04,也不行。
虚拟机 Ubuntu Docker 版,无论 18.04 和 20.04 都不行;
去看看
这个也尝试过,没看懂。
苦笑
校验提示文案
值友6021214734
校验提示文案
飞天隼
校验提示文案
值友8816810353
校验提示文案
值友7747852074
校验提示文案
MMT蜀黍
校验提示文案
coraloneee
校验提示文案
coraloneee
校验提示文案
深圳市民吴先生
校验提示文案
wangmillion2009
简单说就是群晖上的"icloud"
校验提示文案
值友7990471930
校验提示文案
兵临息下
object is not available,导致两部验证的选项都没有。折腾了半天,也是心碎
校验提示文案
YiliChen
校验提示文案
star123456
校验提示文案