rclone数据同步使用记录(OneDrive+COS+AList)
最近在玩的两个好用工具:
两个项目都是基于Go
语言开发,看来大家转Go
是大势所趋呀~
今天先介绍一下rclone
的使用经验。
Rclone是一个开源、多线程、命令行界面的计算机程序,可用于管理云存储。其功能包括档案同步、文件传输、加密、缓存和挂载。rclone 支持包括Amazon S3和Google 云端硬盘在内等共五十多种云存储服务。
——From WIKI
简要流程
- 下载安装最新版
rclone
,在这里 - 运行
rclone config
配置需要挂载的网盘,支持的云端存储类型十分多样,包含常用的OneDrive
,Google Drive
,SFTP/FTP
,WebDAV
,S3
,COS
, 详见类型列表,每类均有详细文档(英文),就不赘述 - 使用
rclone
命令同步文件,采用rclone copy
或rclone sync
等命令,直接将本地文件同步到云端,同时也可用于云端之间相互同步。
用途
mongodb 数据库备份
服务器的mongodb
数据库中存储了重要数据,为以防万一,采用定时任务将数据导出备份到OneDrive
。
直接添加cron
定时任务,mongodump
并备份数据库。
1 | lrms-core和api_cuger_cn数据库备份 |
由于数据库存储量较大,这里我采用同在内网上的腾讯云COS
作为云存储,提高备份速度。
内网 COS 上行和下行流量都是免费的,所以备份只消耗
COS
空间。
COS 图床备份
采用rclone
定期将腾讯云图床上的文件备份到OneDrive
上,以免数据丢失。
采用rclone config
分别配置好OneDrive
和COS
,随后在cron
中添加定时任务,每日备份一次
1 | * * */1 * * rclone copy cos-image:/ OneDrive:/cloud_backup/ |
这个备份会消耗 COS 下行带宽,可能会产生费用,请谨慎使用!
如想使用 CDN 链接下载,可配置--s3-download-url
选项,参考这里。
Waline 数据库(SQLite)备份
此前将Waline
采用Docker
进行了私有化部署,数据存储于服务器 SQLite 数据库中。
为确保数据安全,将其定期同步至腾讯云COS
(私有读写)
1 | 0 2 */1 * * rclone copy /root/docker-waline/data/waline.sqlite cos-backup:/backup-1252695297/waline/ |
Memos 数据库(SQLite)备份
与 Waline 一样,将文件备份到COS。
1 | 0 3 */1 * * rclone copy /root/.memos/memos_prod.db cos-backup:/backup-1252695297/memos/ |
同步博客数据
博客中有用到友链信息和百度统计信息,均为json
数据。
采用rclone
将动态生成的数据同步到腾讯云COS
中(博客),每5分钟
更新一次。
sync.sh
1 | !/bin/bash |
cron 定时任务
每 5 分钟执行一次,获取数据并上传
1 | */5 * * * * bash /root/blog-cos-link-sync/sync.sh |
联动
可挂载WebDAV
,与AList 项目联动,挂载百度网盘、阿里网盘、坚果云等,相当舒服。
Q&A
rclone config
添加的时候,选项极少,没有找到WebDAV
等选项?
请确保从官网下载页面手动下载安装最新版rclone
,用 apt-get 等方式下载的版本可能过于陈旧。
rclone sync
和rclone copy
的区别?
两者都只会修改目的路径(dest)
,但sync
会将源路径(source)
中被删除的文件从目的路径(dest)
中移除,而copy
不会。
rclone
和docker
是否能碰撞出火花?
yes!rclone 提供了官方插件**Docker Volume Plugin
**,可将rclone
挂载为Volume
,相当舒服,详见官方介绍。