Rclone 的使用,告别云盘工具

2025年12月31日 · 1137 字 · 3 分钟

在云存储百花齐放的今天,如何高效、统一地管理不同平台的资料?Rclone 给了我们最终答案。它是一款命令行工具,支持 40 多种云存储,被公认为云端管理的“瑞士军刀”。

本文将带你从原生安装开始,一步步深入到 Docker 高级挂载实战。


1. 认识 Rclone

Rclone 不仅仅是一个简单的上传下载工具,它的强大之处在于:

  • 多协议支持:S3, FTP, WebDAV, Google Drive, OneDrive 等。
  • 文件同步:支持增量备份,只传输变化的部分。
  • 虚拟挂载:将云端直接挂载为本地磁盘。
  • 加密传输:支持端到端加密。

2. 基础安装与配置(原生环境)

在正式使用前,我们先在本地系统完成安装与配置。

2.1 安装

在大多数 Linux 环境(如 Ubuntu, postmarketOS)中,安装非常简单:

sudo apk add rclone       # Alpine/postmarketOS
sudo apt install rclone   # Ubuntu/Debian

2.2 快速生成配置文件

通常 Rclone 使用 rclone config 进行交互式配置,但在自动化部署中,我们更倾向于直接手动编写配置文件

关键点:加密密码 Rclone 的配置文件不支持明文密码,需使用内置命令加密:

rclone obscure your_password_here
# 输出示例:V41e4y8RMBcbKHp95Xjyihii0G4

创建配置文件: 在 ~/.config/rclone/rclone.conf(或自定义路径)写入以下内容:

[my_cloud]
type = webdav
url = http://192.168.1.200:5244/dav/share
vendor = other
user = admin
pass = V41e4y8RMBcbKHp95Xjyihii0G4 (填入刚才生成的加密串)

2.3 原生常用命令

有了配置文件后,你可以直接使用以下命令:

  • 列出文件rclone lsf my_cloud:/
  • 拷贝文件rclone copy /local/path my_cloud:/remote/path --progress
  • 本地挂载
mkdir -p ~/mnt/cloud
rclone mount my_cloud:/ ~/mnt/cloud --vfs-cache-mode full &

3. Docker 版本:复用配置与进阶部署

在服务器端,使用 Docker 部署 Rclone 可以实现环境隔离。我们可以轻松复用前面生成的 rclone.conf

3.1 Docker Compose 一键启动

创建 docker-compose.yml

services:
  rclone:
    image: rclone/rclone:latest
    container_name: rclone-app
    restart: always
    cap_add:
      - SYS_ADMIN
    devices:
      - /dev/fuse:/dev/fuse
    security_opt:
      - apparmor:unconfined
    volumes:
      - /root/Docker/rclone/rclone.conf:/config/rclone/rclone.conf:ro
      - /root/Docker/rclone/data:/data:shared # 重点::shared
    command: mount my_cloud:/ /data --allow-other --vfs-cache-mode full

3.2 常见坑点:宿主机看不到文件?

这是 Docker 挂载最容易遇到的问题。即使容器内显示挂载成功,宿主机目录也可能是空的。

  • 根本原因:Linux 默认的挂载传播是“私有”的。
  • 解决方案
  1. 在 Volumes 映射中必须添加 :shared 标记。
  2. 如果启动报错 not a shared mount,请在宿主机执行:
sudo mount --make-shared /

4. 大传输场景:如何选择最优方案?

当你需要传输成百上千 GB 的资料时,不要使用挂载模式进行拷贝

方案对比

方案 操作方式 优点 缺点
挂载拷贝 cp /local /mnt/cloud 操作直观,像本地盘 缓存压力大,网络波动易导致系统卡死
原生 Copy rclone copy ... 最稳定,支持重试,资源占用极低 无法直观预览文件

传输大量文件的“终极命令”

针对 WebDAV(尤其是 Alist/网盘)的稳定性优化:

nohup rclone --config ./rclone.conf \
       copy "/local/path" my_cloud:/remote/path \
       --transfers 1 \
       --multi-thread-streams 0 \
       --header "Overwrite: T" \
       --no-modtime \
       --ignore-existing \
       -v > rclone.log 2>&1 &
  • --transfers 1:虽然慢,但避免了 WebDAV 频繁报错 405。
  • --no-modtime:跳过时间戳修改,这是适配国内网盘的关键。

5. 总结

Rclone 的强大在于其灵活性:

  1. 日常轻度使用:选 Docker 挂载。配置好 :shared 传播,直接像操作硬盘一样管理云端。
  2. 大批量迁移/备份:选 原生 Copy。配合 nohup 放入后台,让它在低资源消耗下稳定完成任务。