这个个办法我已经用好多年了,这种曲线救国的方式没可能那么优雅,但是至今我都没找到一种可完美实现云服务相册同步的方法。
我的需求是“同步”,而不是“备份”,如果你的需求是归档和备份,大佬Coooolfan开发的XiaomiAlbumSyncer项目可能更合适,这个项目还可以通过Docker部署。但是这个项目的逻辑是做归档备份,和我“同步”的需求不同,这个项目无法实现“云端把照片删掉,本地也同步删除掉” 以及 “云端新加相册,本地同步自动添加相册,无需人工干预” 的需求。
我这个办法实际上是一种曲线救国的方式,其核心是用一个旧版本的小米云服务客户端实现。这里只能用几个特定的旧版本,其他版本版本都不行,更旧的版本没有相册同步功能,而新的版本又把相册同步的功能砍掉了,所以只有当时有同步功能的这几个版本才可以。而我使用的是0.1.28这个版本。
以下是具体的实现步骤:
1. 准备客户端运行环境
首先需要有个终端来运行小米云服务的客户端,这里不管是用一台旧PC或者直接在nas上跑一台虚拟机都可以。客户端的操作系统推荐使用跑win7,win7占用资源极低,且对老旧客户端的兼容性也比较好。我这里是使用的虚拟机,经过多次测试,虚拟机分配2核心,3GB内存即可流畅的运行这个任务,如果内存比较宽裕可以给4GB,再大旧没什么必要了。
另外为了方便后期管理,这台PC或者虚拟机记得开RDP远程桌面。

2. 安装小米云服务客户端,设置同步
然后就是最关键的一步了,使用一个上古版本的小米云服务客户端(这边测试的是0.1.28),登录后启动相册同步,设置同步目录,并开启软件的自启动。
考虑到这个老旧版本估计很难找,我就把他放这里了
立即下载如果你的win7镜像比较老,可能安装后客户端无法正常运行或者无法正常安装客户,那么就需要给系统安装一下KB4490628这个补丁,根据你的系统是32位还是64位直接下载安装就行了。
立即下载3. 设置系统自动登录
由于小米云服务的客户端的自启动必须在系统登录(进桌面)后才会启动,所以还需要设置一下,让系统启动后自动进入桌面。
由于虚拟机使用的是win7系统,我这里直接再在运行框中输入:netplwiz,然后取消掉 “要使用本机,用户必须输入用户名和密码” 的勾选,确认后输入一下对应用户的密码就好了。


这样操做之后,系统在开机后会自动登录用户,进入桌面。小米云服务客户端就正常启动了。

4. 设置自动锁屏
考虑到安全问题(特别是物理机直接部署的情况),最好要在客户端启动后让系统自动锁屏。这个需求实现起来也很简单,使用一个bat批处理脚本配合windows系统自带的任务计划程序即可实现。
@echo off echo 10s后自动锁屏 REM 延迟10秒 timeout /t 10 /nobreak > nul REM 锁屏 tsdiscon
如果图省事的话,直接把这个bat丢到开始菜单的“启动”就行了,这样在系统自动登录用户,进入桌面的时候就会执行这个bat脚本。反正脚本有个10s的延时,需要正常维护的的时候叉掉窗口就行了。如果想更进一步,想要保证只有在正常开机或者重启的的时候才执行一次,那就用到任务计划了。
5. 设置自动锁屏只运行一次(可选)
在任务计划程序中创建一个任务,新建一个触发器,开始任务选择 “登录时” ,并选择当前用户。

然后操作选择前面创建的bat脚本

最后看在设置中选择一下“如果任务已经运行,不要启动新实例” ,一般这里默认就是这个设置。
这个设置可以让这个任务只在在开机后自动执行一次,后面通过RDP远程桌面连接,或者解锁桌面都只能算作“连接”,而不是“登录”,只有你点“注销”后重新通过RDP远程桌面连接或者解锁才是次登录。
这样设置可以保证平常远程桌面进行管理或者本地解锁的时候不会重新触发锁屏。
6. 文件同步归档(可选)
到这里就可以实现小米云服务相册自动同步本地了,如果还想要把这些文件同步到NAS的归档文件夹,那就有很多实现方式了,这里提供不几种思路,具体就不展开细说了:
1. 可以使用cwRsync之类的软件,在win下跑rsync服务,然后nas定期拉取同步的相册文件到归档目录。(这也正是我目前所使用,并且推荐使用的方式,因为一般大部分的成品NAS或者NAS系统都会带rsync服务,而且各种Linux发行版一般也都带rsync服务)
2. win通过smb或者nfs之类的协议,挂载nas的目录到win的本地,然后win上运行软件定时间同步小米云服务的同步目录到这么目录下,或者干脆直接把这个目录设置为小米云服务的同步目录。但是个人并不是很推荐这种做法,smb和nfs都相对比较吃资源,这样操作对性能消耗比较大。
3. 使用你的nas自带的文件同步客户端软件进行文件同步。(最简单,但是相对需要消耗一些客户端这边的性能,按照前面说的分配3GB内存可能有时候就有点力不从心了)
4. 使用微力同步等各种第三方同步工具(NAS端也需要部署对应软件)来同步。

文章评论