Rclone
更多操作
安装
命令参数
挂载
服务
文件服务
Rclone 完整实操教程(对接Alist+阿里云盘,解决403防盗链)
一、软件简介
Rclone 是跨云存储同步工具,支持阿里云盘、OneDrive、S3、Alist WebDAV 等几十种存储。 搭配 Alist 管理多网盘,是服务器备份、异地同步、文件挂载的首选方案。 本次环境:Arch / Ubuntu + Alist + 阿里云盘Open驱动 + Rclone WebDAV对接。
1. 安装 Rclone
一键安装(通用Linux)
curl https://rclone.org/install.sh | sudo bash验证版本
rclone version
2. 配置远端存储(对接Alist WebDAV)
方式1:交互式配置(新手推荐)
rclone config操作步骤: 1. 输入 n → 创建新远端 2. 名字填写:alist 3. 存储类型选择:webdav 4. URL:http://你的Alist地址/dav 5. Vendor(关键):填写 other,不要选alist(避免触发直链API导致403) 6. 填入Alist账号、密码 7. 不需要Bearer令牌,直接回车跳过 8. 确认保存,退出配置。
方式2:直接编辑配置文件
配置文件路径:~/.config/rclone/rclone.conf
[alist]
type = webdav
url = http://127.0.0.1:5244/dav
vendor = other
user = admin
pass = 你的Alist密码测试连通性
# 列出根目录
rclone lsf alist:
# 列出aliyunpan下所有文件
rclone lsf alist:aliyunpan/前提:Alist存储设置 1. Web代理:开启 2. WebDAV策略:本地代理(不再302直链跳转,彻底规避阿里云403 Forbidden)
3. 核心命令大全(日常高频使用)
3.1 列出文件
# 列出目录结构
rclone ls alist:aliyunpan/Data/
# 只打印文件路径(适合脚本)
rclone lsf alist:aliyunpan/Data/
3.2 下载文件(最常用)
单文件下载(解决403防盗链参数)
rclone copy alist:aliyunpan/Data/backup.tar.gz ./ \
--no-traverse \
--header Referer:"https://www.aliyundrive.com" \
--progress参数说明: - --no-traverse:禁止批量遍历目录,减少API请求,防止风控 - --header:携带Referer绕过CDN防盗链 - --progress:显示实时下载进度
整目录同步(双向备份)
# 云端 → 本地(只新增,删除远端文件不会删除本地)
rclone sync alist:aliyunpan/Data/BackUp /home/bill/backup --progress
# 严格双向同步,本地和云端完全一致(慎用--delete,会删除多余文件)
rclone sync alist:aliyunpan/Data/BackUp /home/bill/backup --delete --progress
3.3 上传本地文件到云盘
rclone copy ./opt_affine.tar.gz alist:aliyunpan/Data/
3.4 文件移动、重命名
# 云端内部移动文件
rclone moveto alist:old.tar.gz alist:aliyunpan/tmp/new.tar.gz
3.5 校验文件完整性
rclone check ./local.tar.gz alist:aliyunpan/Data/local.tar.gz
4. Rclone FUSE 挂载网盘到本地目录(重点)
把Alist网盘挂载成本地文件夹,像操作本地硬盘一样读写文件。
前置条件
- 安装fuse工具
# Ubuntu/Debian
apt install fuse3
# Arch
pacman -S fuse3- 开启普通用户权限 编辑
/etc/fuse.conf,取消注释:
user_allow_other
4.1 后台挂载命令(适配阿里云,杜绝IO报错+403)
# 先清理旧挂载
pkill rclone
fusermount -u /home/bill/mnt/aliyun
# 执行挂载
rclone mount alist:aliyunpan /home/bill/mnt/aliyun \
--allow-other \
--vfs-cache-mode writes \
--poll-interval 0 \
--no-modtime \
--no-size \
--no-checksum \
--daemon
参数详解(针对阿里云403优化)
| 参数 | 作用 |
|---|---|
--vfs-cache-mode writes
|
只缓存写入,不预读取全部文件信息,避免批量触发阿里风控,不要用full |
--poll-interval 0
|
关闭自动轮询刷新目录,减少API调用 |
--no-modtime
|
不读取文件修改时间,规避WebDAV权限读取失败 |
--no-size --no-checksum
|
禁止预获取文件大小与校验,防止提前触发下载403 |
--daemon
|
后台守护进程运行 |
4.2 卸载挂载点
fusermount -u /home/bill/mnt/aliyun
4.3 开机自动挂载(写入fstab)
alist:aliyunpan /home/bill/mnt/aliyun fuse.rclone allow_other,vfs-cache-mode=writes,poll-interval=0,no-modtime,_netdev 0 0_netdev:等待网络就绪再挂载,避免开机失败。
5. 定时自动备份(Shell脚本 + Crontab)
一键备份脚本 backup.sh
#!/bin/bash
# 云端路径
REMOTE="alist:aliyunpan/Data"
# 本地保存目录
LOCAL="/home/bill/bak"
LOG="/var/log/rclone-bak.log"
echo "==== 开始同步 $(date) ====" >> $LOG
rclone sync $REMOTE $LOCAL --delete --progress >> $LOG 2>&1
echo "==== 同步结束 $(date) ====" >> $LOG授权执行:
chmod +x backup.sh
添加定时任务(每天凌晨4点自动同步)
crontab -e写入:
0 4 * * * /home/bill/backup.sh
6. 避坑指南(你遇到的403问题总结)
问题1:rclone copy 报错 403 Forbidden
根源
Alist WebDAV策略为「302重定向」,直接返回阿里云CDN直链,触发防盗链。 ### 解决方案 1. Alist存储设置: - 开启 Web代理 - WebDAV策略改为:本地代理 2. Rclone配置 vendor=other,不要使用alist专属API。 3. copy命令增加 --no-traverse + Referer请求头。
问题2:挂载目录空白,ls看不到文件
- 不要用sudo执行mount命令,普通用户运行;
- 开启
/etc/fuse.conf里的user_allow_other; - 不要使用
--vfs-cache-mode full,改用writes。
问题3:挂载后cp文件提示 Input/output error
文件读取触发阿里云直链403。 ✅ 优先使用 rclone copy 命令下载,不要直接读取挂载目录里的大压缩包。
问题4:普通用户挂载失败,root用户正常
权限限制:fuse不允许非root无权限挂载,开启 user_allow_other 即可解决。
7. 常用命令速查表
| 功能 | 命令 |
|---|---|
| 查看远端文件 | rclone lsf alist:path |
| 下载单文件 | rclone copy remote:file ./ |
| 目录同步 | rclone sync remote:src local:dst |
| 挂载网盘 | rclone mount … –daemon |
| 卸载 | fusermount -u 挂载目录 |
| 杀掉后台进程 | pkill rclone |
8. 进阶优化
- 带宽限速
rclone copy ... --bwlimit=10M- 断点续传大文件
rclone copy --contimeout=60 --retries=3- 多线程下载:
--transfers=4如果你需要,我可以再补充一份:多网盘(阿里云+Cloudflare R2+NAS)三副本异地备份的完整rclone脚本。