Featured image of post rclone,统一管理、备份同步多云存储

rclone,统一管理、备份同步多云存储

rclone 使用指南

简介

rclone 是一个强大的命令行工具,旨在管理和同步文件到多种云存储服务及本地文件系统。它支持超过 70 种不同的云存储提供商,如 Google Drive、Dropbox、Amazon S3、OneDrive 等。

主要特点:

  • 多种存储支持:支持超过 70 种不同的云存储服务。
  • 文件同步:可以在本地和云之间同步文件或文件夹。
  • 加密功能:支持文件加密,确保数据安全。
  • 增量备份:只同步变化的文件,节省时间和带宽。
  • 跨平台:可以在 Windows、macOS 和 Linux 上运行。
  • 脚本自动化:可以通过脚本实现定期备份和同步。

官网地址:https://rclone.org

安装

在 Linux/macOS/BSD 系统上安装 rclone,可以运行以下命令:

1
sudo -v ; curl https://rclone.org/install.sh | sudo bash

若要安装测试版,可以运行:

1
sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta

配置

首次使用 rclone 时,需要配置远程存储。执行以下命令并根据提示操作:

1
rclone config

配置文件所在的位置

Linux

1
~/.config/rclone

复制/备份

将文件从源位置复制到目标位置,跳过相同的文件(根据文件大小、修改时间或 MD5SUM 判断)

1
rclone copy source:sourcepath dest:destpath

示例:

将本地 software 文件夹复制到 alist 下的 aliyunpan/software

1
2
3
# 复制(复制到远程可能需要等待完成)
# 参数 -P 可查看具体信息
rclone copy ~/software alist:/aliyunpan/software -P

复制可当作备份使用,写为脚本文件,加入定时和任务即可

1
vim ~/bin/rclone_copy_local_software_to_alist_aliyunpan_software.sh

内容如下

1
2
#!/bin/bash
rclone copy ~/software alist:/aliyunpan/software

修改可执行权限:

1
chmod +x ~/bin/rclone_copy_local_software_to_alist_aliyunpan_software.sh

提示: 某些云盘支持秒传,可以快速将一个云盘文件内容复制到另一个云盘。rclone 使用 copy 复制也是支持的。

有些云盘上传单个文件大小有限制,例如 115 原石会员最大支持单个文件 5G,超过该大小即使支持秒传也无法使用。为了秒传的可用性,可以添加 --max-size 参数跳过超大的文件,例如 --max-size 500M 跳过超过 500M 的文件。

例如,将 alist 挂载的 aliyunpan/infotech 复制到 alist 挂载的 115/infotech,并跳过超过 500M 的文件:

1
rclone copy alist:aliyunpan/infotech/ alist:115/infotech/ --max-size 500M -P

挂载

可以将远程存储挂载到本地,作为本地文件系统使用,支持本地播放视频、打开文件,编辑文件等操作

例如,使用 alist 在线播放 115 上的视频可能会失败,但挂载后即可播放

播放器推荐使用 mpv,了解更多可观看以下视频:mpv 播放器,安装配置,脚本推荐

命令

1
rclone mount --buffer-size 4M --vfs-cache-mode writes remote_name:remote_path local_path --daemon
  • --buffer-size:指定缓存大小
  • --vfs-cache-mode:缓存模式
  • --daemon:后台挂载

将坚果云挂载到 /home/taoone/jianguoyun

创建挂载点

1
mkdir -p $HOME/mnt/jianguoyun

前台挂载(退出终端挂载会取消)

1
rclone mount --buffer-size 4M --vfs-cache-mode writes jianguoyun: $HOME/mnt/jianguoyun

后台挂载

1
rclone mount --buffer-size 4M --vfs-cache-mode writes jianguoyun: $HOME/mnt/jianguoyun --daemon

取消挂载

1
fusermount -u $HOME/mnt/jianguoyun

挂载 alist 到本地 ~/alist

1
mkdir -p $HOME/mnt/alist

前台挂载

1
rclone mount --buffer-size 4M --vfs-cache-mode writes alist: $HOME/mnt/alist

后台挂载

1
rclone mount --buffer-size 4M --vfs-cache-mode writes alist: $HOME/mnt/alist --daemon

取消挂载

1
fusermount -u $HOME/mnt/alist

设置开机自动挂载

使用定时任务

1
crontab -e

添加以下内容

1
2
# 开机挂载 rclone alist
@reboot rclone mount --buffer-size 4M --vfs-cache-mode writes alist: $HOME/mnt/alist --daemon

同步

源路径 文件同步到 目的路径,会 删除目的路径文件

使用需谨慎

如果只是需要备份文件,使用 复制

同步分为单向同步和双向同步,具体如下

单向同步

再次提醒:谨慎使用

这可能导致数据丢失,首先使用 --dry-run--interactive/-i 进行测试。

1
rclone sync --interactive SOURCE remote:DESTINATION

从坚果云同步文件到本地

1
rclone sync jianguoyun:/ $HOME/jianguoyun

从本地同步文件到坚果云

1
rclone sync $HOME/jianguoyun jianguoyun:/

双向同步

暂处于测试阶段,不建议使用!!

1
rclone bisync remote1:path1 remote2:path2 [flags]

Web UI

rclone 也提供了 Web UI 界面:

1
rclone rcd --rc-web-gui

此命令会从 GitHub 下载 UI 文件,因此需要能够访问 GitHub。

其他命令

  • 列出所有配置
1
rclone listremotes
  • 查看特定远程的配置
1
rclone config show <remote_name>
  • 查看所有配置的详细信息
1
rclone config dump

小技巧

只创建相同目录结构

如果只想创建文件夹结构,而不上传文件

1
rclone copy  source_path remote_name:remote_path --filter "+ */" --filter "- *" --progress
  • source_path:源路径
  • remote_name:remote_path:远程目录和远程路径
页面浏览量Loading
网站总访客数:Loading
网站总访问量:Loading
使用 Hugo 构建
主题 StackJimmy 设计
-->