群晖NAS自动备份/同步iCloud和华为相册(iCloudpd,群晖相册) 您所在的位置:网站首页 华为云备份多少g 群晖NAS自动备份/同步iCloud和华为相册(iCloudpd,群晖相册)

群晖NAS自动备份/同步iCloud和华为相册(iCloudpd,群晖相册)

2024-04-11 11:04| 来源: 网络整理| 查看: 265

为什么是iCloudpd?

1,iPhone上用群晖Synology Photos备份也可以,但是不如安卓上的稳,比如杀后台啥的;如果有多个苹果设备,备份目录也不如iCloud上拉下来的干净整齐;如果不是从一开始就备份,那么存量几万张照片通过手机备份也是慢的很熬人。

2,如果iPhone上开了省空间,通过手机备份就得不到全尺寸的照片。除非先把全尺寸照片从iCloud拉到手机上(然而既然开了省空间,那说明iPhone上的空间已经不够全量下载了),这就是我一定要折腾的原因(4万多张,280多G,iPhone容量只有256G,也没有计划去换一个iPhone)

3,可以选择单向备份,这样iCloud或者手机上删除的照片,NAS也会一直有备份。

为什么是群晖,用iCloud图库、华为云空间还不够安全吗?

1、华为+苹果双枪党,既然买了个群晖,就想找机会把相册统一一下。近期的照片都是华为拍的,远期都是苹果。能够集中展示和查找,很舒服。

2、如果iCloud/华为云空间不够用了,其实用群晖这个就可以了,满了就删除一些照片,毕竟原片都存NAS了。当然还是会麻烦一下,因为使用系统相册就看不到以前的照片了,必须用Synology Photos

环境配置

群晖923+,海康西数紫盘4Tx2(两年后再加一或两个8T),SHR,MateBook X Pro;

群晖版本升级到DSM 7.2,这个跟7.1和6.x差别比较大,很多之前的教程都没法用了

参考文档

前前后后搞了个把星期,看了无数教程,也把github上的issues看的差不多了,终于把各种问题都搞定了。具体参考文档最后附上,这里讲一下为啥要写这个教程,解决了哪些问题/坑:

群晖版本升级到7.2,Docker套件不见了,改名叫Container套件了。同时Container的权限受限访问不了homes文件夹了。

备份好的照片,无法被群晖图库索引到,所以移动端和网页端的Synology Photos都看不到iCloudpd同步过来的照片。

用户权限问题,iCloudpd缺省用户不是群晖的用户,最好能统一起来避免其他问题。

有一些iCloudpd的无用参数,可以不用再尝试了。

华为的操作很简单,在最后提了一下。

删除容器重新配置可能导致容器的终端机打不开了,我碰到这种情况了,现在还没有解决,不过本地访问是没这个问题的,远程换一个电脑也没这个问题,就没管了。

其他教程里面已经有的我就简单带过了,大家结合最后的参考链接综合起来参考。

一、打开套件中心,安装“Container Manager”套件二、打开群晖【File Station】,新建文件夹及文件

/volume1/docker/iCloudpd/  主目录,因为7.2版本的群晖已经不让docker读取home文件夹了,所这个目录里面只能保存iCloudpd的配置数据了。

/volume1/docker/iCloudpd/iCloud_Photos 这个目录主要用于icloudpd读取用,从home文件装载映射过来

/volume1/homes/方鸿渐大爷/Photos/iCloud_Photos,“方鸿渐大爷”为你群晖上的用户名。这里才是保存照片的地方,这样才能让群晖的Synology Photos统一管理照片

/volume1/homes/方鸿渐大爷/Photos/iCloud_Photos/.mounted 这个文件可以在群晖桌面套件中心安装“文本编辑器”生成一个空文件保存在这个目录下,也可以从PC上做一个文件拷贝过去

三、把home目录里存放照片的目录映射到Docker能读取的目录那里去

这里需要执行 mount --bind /volume1/homes/方鸿渐大爷/Photos/iCloud_Photos /volume1/docker/iCloudpd/iCloud_Photos 这个指令

为了防止重启后这个映射就丢了,可以在群晖:控制面板-任务计划-新增-计划的任务-用户定义的脚本,增加一个任务,这样重新启动了也会自动挂上去。

四、创建容器

这里先吐槽一下国内的开发环境,好多容器镜像加速器都不能用https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6

我有阿里云的账号,可以设置阿里云的镜像,但是里面居然找不到icloudpd,查了一下好几年不更新了。到底是啥原因?Docker Hub不存在了,镜像也不同步,我们这块到底怎么了?是国内就不怎么用Docker吗?

1、打开【Container Manager】套件,点击左侧菜单【注册表】,搜索关键词“icloudpd”,双击下载星标最多的那个【boredazfcuk/icloudpd】

【新的7.2版本好像可以直接访问Docker Hub了】总之如果不行的话,可以切换一下注册表设置里面的几个库,也可以在群晖里面:控制面板-网络-常规-代理服务器【7.2版本的路径】,设置一个可以访问Docker Hub的代理就可以了。

2、点击“映像”,等待下载完成

3、进入左侧容器-新增,选择下载好的映像。//这里因为我已经创建好了,用了另一个映像截图示意一下。图片里面映像名称不匹配。容器名称改或不改都可以。

资源限制和自动重新启动可以都不打开,关系不大。

4、点击下一步,需要修改存储空间设置和环境这两项。

5、存储空间设置:

/volume1/docker/iCloudpd/iCloud_Photos ==> /iCloud

6、环境参数请参见下面这张图:这个有点复杂,需要详细解释一下。

【必须】TZ 时区,以前据说缺省有问题,设置为Asia/Shanghai也是不对的。但是我新老教程混着看,github里有人说要这么设置了,好像也没啥问题。github上最新的说法是要用我目前列的这个设置。https://github.com/boredazfcuk/docker-icloudpd/issues/336

【必须】那两个China很关键,一定要设置。如果你是美区或其他区的,没有用云上贵州,那不需要这两个参数。

【可选】最开始可以把debug_logging设置为True,可以有更详细的信息,如果实在搞不清楚,需要去github上问作者的时候可能会需要日志。不过我开启后,不需要了设置为false了似乎还继续有。因为不影响暂时没管,等authentication过期了重新初始化时再看会不会变。

【建议】把user_id, group_id, user, group,都设置为群晖用户保持一致,不要用icloudpd缺省的1000/1000。但是因为group id已经被用了,需要把force_gid设置为true,否则走不下去(查询群晖用户的id, gid,主要就是打开群晖的SSH,然后用putty或其他终端登录上去,用群晖的用户名和密码,然后用id这个指令看一下)

【条件】skip_check这个参数主要针对icloud上文件数特别多比如上万这种,如果是第一次操作,最好设置为true这样就会全量下载。以后继续留着也不影响,我现在还继续开着。但是第一次下载之后是否可以设置为false就行了,我还没试过。我觉得应该要试一下(有确认过的请告诉我一下)

7、再下一步,就可以完成并运行此容器了。

8、初始化容器获得iCloud的认证Cookie。这一步最关键,也是失败次数最多的地方:中国区不一样,两步验证不一样,认证只能保持90天需要重新认证。

点击:①容器,②icloudpd,③详情

继续:①操作,②打开终端机

选择:新增->通过命令启动。

进入后执行初始化命令:sync-icloud.sh --Initialise

然后按照提示输入你的iCloud的账户,密码,并在iPhone或其他设备上同意登录输入验证码。这部分没有什么变化,可以参考其他人的教程(我不想重新操作一次了,以后看要不要补上)

9、至此,容器就应该建立好了。重启容器,查看日志,看到开始下载文件了,说明运行成功,等着自动下载iCloud照片即可,默认为24小时增量下载一次,默认下载原始尺寸文件。如果文件数量特别多,读取目录时会静默很久,估计有几分钟。这时需要等待一会儿。我四万多个文件,第一次到开始下载可能等了几分钟。后面就快了(如下,一般需要20多分钟把所有文件遍历一遍,只下载新增的文件。也许把skip_check去掉后,还有一个新参数recent_only加上去后也许能更快一些,不过不操作也完全没有问题。每天夜里群晖花30分钟不到同步一下iCloud还是可以接受的)

五、解决群晖照片APP自动索引的问题

以上已经可以实现照片自动备份了。但是在群晖照片里面是看不见的,只能在文件夹里面看到。这是因为群晖照片APP的索引触发机制在容器里面无法触发,不管怎么修改这个文件,包括作者那个参数开关先touch file再把touch的修改改回去,都没有办法被synology photo感知到【希望群晖照片以后能改进一下】,这样虽然照片文件在,文件目录也是对的,但是群晖照片上就是看不到,也没法归类到人像等标签相册里面去。主要就是参考:https://github.com/boredazfcuk/docker-icloudpd/issues/165,这里面的说明。用一个脚本每天半夜自动把最新的照片。

我设置的凌晨12:30自动执行iCloudpd同步;凌晨5点自动做SynologyPhoto的索引。目前运行一切良好。

六、华为照片的同步

如果你跟我一样也有很多的华为照片在华为云空间上,并且手机上没有存全尺寸的图片,可以参考下面的做法:

1,电脑上下载华为云空间,在照片里面选择所有照片下载到本地。

2,直接把本地文件目录拷贝到NAS/home/Photos下面。如果太大了时间太长怕中途中断的话,可以用Synology Drive的同步盘设置一下同步过去。一般局域网直接拷贝也很快了。

3,在华为手机上用Synology Photos的APP设置好照片备份,注意设置为只备份新照片。

4,华为手机:设置->应用和服务->应用启动管理-Synology Photos改为手动管理并允许所有【如果有多个华为手机或平板,可以按需都设置上】

最后如下图NAS上的照片目录就有三个:①华为云空间已有照片备份,快照状态不再新增②iCloud上的照片每日更新③华为手机上新照片的实时更新(有网络的情况下,如果只开WIFI则需要等到有WIFI才会自动上传。)

七、总结

以上设置好后:

    苹果设备与iCloud同步,iCloud照片每天自动下载到NAS【多台苹果设备的支持取决于手机是否打开了iCloud图库】

    华为手机/平板实时同步到NAS(具体看网络)

    通过Synology Photos的APP或者网页版,可以查看和管理所有苹果+华为的照片,并且可以按照时间线、文件夹、人像等方式显示。

NAS上的备份如果不安全,还可以买个SSD的大硬盘(现在1T2T已经和机械硬盘价格差不多了),通过群晖的USB Copy设置为一插上U盘就自动备份某个目录,再做一份物理备份。也可以同步到云盘上备份。

七、参考文档

主要参考,知乎-小浪:五分钟搞定,群晖NAS自动同步iCloud照片(原尺寸或自动转换为JPG格式) https://zhuanlan.zhihu.com/p/465539827。这个比较老了,很多东西变了,但是应该是最完备的一个参考了。比smzdm上好些洗稿的那种参考性强多了。

最新参考,B站N3ptuneBB:NAS中部署icloudpd实现iCloud相册同步,这个比较新,也是参考了小浪的步骤。

一些使用体验 https://github.com/boredazfcuk/docker-icloudpd/issues/336

群晖照片里面没有iCloud上同步过来的照片,用这个办法解决:https://github.com/boredazfcuk/docker-icloudpd/issues/165

群晖容器提示端口已关闭的解决方法。https://rgth.co/blog/how-to-fix-synology-dsm-socket-close-issue/【我还没有试过】【这个问题只在远程访问的时候,如果我删除了一个容器再新建一个才会出现,回到局域网,或者换一台电脑又没问题了,所以我就没管了】

利用NAS上的Docker打通苹果iCloud,自动同步iCloud照片 https://diy.zol.com.cn/807/8070763_all.html 这篇列出来是他里面有把主要iCloudpd的参数中文翻译列出来,如果想了解的可以看一下。不过后面有带货的,可以忽略

通过icloudpd间接实现iOS后台自动备份照片至群晖 https://zhuanlan.zhihu.com/p/357723473,这要引入一个Portainer,感觉没必要,而且这个太旧了,不知道是否可行。可以不用看了。

如何备份iCloud照片到NAS? https://zhuanlan.zhihu.com/p/234748179 这个是针对FreeNAS的,有其他平台的可能可以参考下

OpenWrt下使用docker安装icloudpd实现iPhone照片备份私有云盘nas https://blog.csdn.net/u010857736/article/details/124082935

如何查看uid, gid,   https://mariushosting.com/synology-how-to-find-uid-userid-and-gid-groupid/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有