之前,一直使用阿里云盘、一刻相册、QQ空间等存储照片,但是总感觉有一天会因为平台调整而被限制。
所以入手N100小主机后,就成为了我日常数据备份的主力军,所有的照片都转存到了小主机里,并且搭配MT相册、内网穿透,用起来很舒服,但是本地数据怎么和云盘数据同步成了一个问题,找了很久,终于找到一个非常不错的同步工具,可以把本地数据同步到云盘,无需人工干预。
MyDrive
官网:https://github.com/trueai-org/MDriveSync
多平台、模块化、安全的云盘同步工具备份,支持百度网盘、阿里云盘、多账号等,集成 Duplicati、Kopia 等多种模块,支持加密还原等,支持单向、镜像、双向等同步备份,完全免费开源。
提供 Docker 版、Duplicati 版、Kopia 版、Windows 服务版、Windows 版、手机版、网页版、Linux版、Mac 版等多平台版本。
支持多种算法同步与备份,保证数据的安全性,任何第三方、任何云盘服务商都无法查看或分析你的数据,只有通过你本人设置的安全密钥才能解密数据,保证您的数据安全和隐私。
特性
不限速,阿里云盘官方接口支持,上传下载均不限速。
挂载云盘支持,支持将云盘挂载到本地,作为本地硬盘使用。
多线程支持,多线程上传、下载、同步,充分利用带宽。
定时作业,定时同步、还原、备份等。
在线云盘文件管理。
免费
开源
跨平台,支持 Windows、Linux、Unix、Mac、Android、Docker 等平台。
快速校验,多种算法支持 sha1、sha256、md5
安全,加密
多账号支持,多阿里云盘账号支持
多作业计划支持,可以配置多个同步时间点。
多种同步方式:镜像、备份、双向
极速,采用安全极速的差异算法,极速实现单向或双向同步。
支持秒传
支持过滤本地文件/文件夹,丰富的校验规则。
高性能,采用 .NET8 最新技术,极致的性能体现,低内存、高性能、跨平台。
WebUI 可视化配置
WebUI 前后端分离,保证了后台服务的高可用。
支持只读模式,只读模式启动服务,则不可以编辑配置。
支持自定义端口。
支持回收站功能,支持删除文件/夹到回收站。
WebUI 支持多主题,支持黑色模式。
支持云盘管理和在线下载文件。
支持作业暂停、恢复、禁用、取消、删除等。
支持队列,保证作业的高可用,避免多任务卡顿以及抢占资源问题。
支持登录验证,下载验证。
支持从配置文件中启动作业。
支持超时自动锁定管理后台(BETA)。
支持在线上传(BETA)。
多模块支持,支持 Duplicati、Kopia 模块,直接进行加密(BETA)。
支持还原云盘文件(BETA)。
支持将云盘挂载到本地,像管理本地文件一样管理远程文件(BETA)。
支持将备份目录挂载到本地(BETA)。
支持快照,支持快照挂载(BETA)。
安装与使用
预览
账号:admin,密码:123456
安装
我的系统:Ubuntu
安装了1Panel运维面板
所以使用Docker版部署
https://hub.docker.com/r/trueaiorg/m-drive-sync-client
一开始我根据作者提供的示例进行部署,配置了appsettings.json、appsettings.Client.json、日志映射等,但是没有效果,而且数据没有持久化,后来咨询了作者,原来系统更新了,给出的回复是:
appsettings.json 主要配置默认授权、日志等,如果使用 docker,可以不用配置。
appsettings.Client.json 是用于首次初始化的默认启动配置(可能存在 bug),现在系统更新了,默认使用数据库存储了,数据库默认存在当前目录的 db 目录下,因此,如果需要持久化,建议启动实例如下:
docker run --name mdrive -d --restart=always \ -v /home/mdrive/db:/app/db:rw \ -e BASIC_AUTH_USER=admin -e BASIC_AUTH_PASSWORD=123456 \ -e READ_ONLY=true \ -p 18080:8080 trueaiorg/m-drive-sync-client
最终我的启动代码是:
docker run --name mdrive -d --restart=always \ -v /home/mdrive/db:/app/db:rw \ -e BASIC_AUTH_USER=admin -e BASIC_AUTH_PASSWORD=123456 \ -e /data:/data:ro \ -p 18080:8080 trueaiorg/m-drive-sync-client
/home/mdrive/db要有读写权限
为什么把READ_ONLY=true去掉,因为加上之后是只读模式,在web界面不能设置事务。
/data:/data:ro 是把要备份的路径映射到程序里,否则你在web界面选择文件路径时,看不到你要备份的路径。
访问
部署完成后,通过IP:端口访问web界面,输入在部署时设置的账号和密码就可以看到如下界面。
我已经配置了两个作业。
创建作业
点击存储和左右右侧的+号,弹出阿里云盘授权窗口,点击扫码授权会弹出小窗,用阿里云APP扫码并授权后,小窗会显示很长一串字符,等到几秒后小窗会自动关闭,授权窗口自动填充字符串,点保存就可以了。
后边就是作业配置,非常简单,这里就不再赘述了。