搬瓦工 VPS 部署 Rclone 多云存储同步工具教程
Rclone 被称为"云存储界的瑞士军刀",是一款命令行工具,支持 70 多种云存储和远程文件系统之间的数据同步、复制和挂载。无论是将搬瓦工 VPS 的备份数据上传到 S3、将 Google Drive 的文件同步到本地,还是在不同云存储之间迁移数据,Rclone 都能胜任。本教程将介绍 Rclone 的安装、配置和高级使用技巧。
一、Rclone 核心功能
- 多云支持:S3、B2、Google Drive、OneDrive、Dropbox、SFTP、WebDAV 等 70+ 后端。
- 同步模式:sync(镜像同步)、copy(复制)、move(移动)、check(校验)。
- 加密层:crypt 后端可对任意云存储进行透明加密。
- 挂载功能:使用 FUSE 将云存储挂载为本地文件系统。
- Web GUI:内置 Web 管理界面,方便文件浏览和传输操作。
二、安装 Rclone
# 官方安装脚本(推荐)
curl https://rclone.org/install.sh | bash
# 或手动安装
wget https://downloads.rclone.org/current/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cp rclone-*-linux-amd64/rclone /usr/local/bin/
chmod +x /usr/local/bin/rclone
# 验证
rclone version
三、配置远程存储
3.1 S3 兼容存储
# 直接编辑配置文件(无需交互式配置)
mkdir -p ~/.config/rclone
cat > ~/.config/rclone/rclone.conf << 'EOF'
[myS3]
type = s3
provider = AWS
access_key_id = YOUR_ACCESS_KEY
secret_access_key = YOUR_SECRET_KEY
region = us-east-1
endpoint =
location_constraint =
acl = private
[backblaze]
type = b2
account = YOUR_B2_ACCOUNT_ID
key = YOUR_B2_APP_KEY
[minio]
type = s3
provider = Minio
access_key_id = minio_access_key
secret_access_key = minio_secret_key
endpoint = http://minio.example.com:9000
acl = private
EOF
3.2 SFTP 远程服务器
cat >> ~/.config/rclone/rclone.conf << 'EOF'
[remote-server]
type = sftp
host = backup-server.example.com
user = backup-user
key_file = /root/.ssh/id_ed25519
shell_type = unix
EOF
3.3 验证配置
# 列出远程存储
rclone listremotes
# 测试连接
rclone lsd myS3:
rclone lsd backblaze:
四、基本操作
# 复制本地文件到 S3
rclone copy /opt/app/data myS3:my-bucket/backup/data --progress
# 同步目录(镜像模式,删除目标多余文件)
rclone sync /opt/app/static myS3:my-bucket/static --progress
# 云到云复制(S3 到 B2)
rclone copy myS3:source-bucket backblaze:dest-bucket --progress
# 列出远程文件
rclone ls myS3:my-bucket/backup/
# 查看存储空间使用情况
rclone about myS3:my-bucket
五、加密存储
# 在配置文件中添加加密层
cat >> ~/.config/rclone/rclone.conf << 'EOF'
[encrypted-s3]
type = crypt
remote = myS3:my-bucket/encrypted
password = YOUR_ENCRYPTED_PASSWORD
password2 = YOUR_SALT_PASSWORD
filename_encryption = standard
directory_name_encryption = true
EOF
# 上传文件时自动加密
rclone copy /opt/app/secrets encrypted-s3: --progress
# 下载时自动解密
rclone copy encrypted-s3: /opt/restore/ --progress
六、挂载云存储
# 安装 FUSE
apt install fuse3 -y
# 挂载 S3 到本地目录
mkdir -p /mnt/s3
rclone mount myS3:my-bucket /mnt/s3 \
--vfs-cache-mode full \
--vfs-cache-max-size 1G \
--vfs-read-chunk-size 32M \
--allow-other \
--daemon
# 创建 systemd 服务实现开机自动挂载
cat > /etc/systemd/system/rclone-mount.service << 'EOF'
[Unit]
Description=Rclone S3 Mount
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/rclone mount myS3:my-bucket /mnt/s3 \
--vfs-cache-mode full \
--vfs-cache-max-size 1G \
--allow-other
ExecStop=/bin/fusermount -u /mnt/s3
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now rclone-mount
七、自动化同步脚本
cat > /opt/rclone/sync.sh << 'EOF'
#!/bin/bash
set -euo pipefail
LOG="/var/log/rclone-sync.log"
log() { echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG"; }
log "开始同步..."
# 同步网站数据到 S3
rclone sync /var/www myS3:my-bucket/www-backup \
--exclude "*.log" \
--exclude "*.tmp" \
--transfers 8 \
--checkers 16 \
--log-file "$LOG" \
--log-level INFO
# 同步配置文件
rclone copy /etc/nginx myS3:my-bucket/config-backup/nginx \
--log-file "$LOG"
# 清理 30 天前的备份
rclone delete myS3:my-bucket/daily-backup \
--min-age 30d \
--log-file "$LOG"
log "同步完成"
EOF
chmod +x /opt/rclone/sync.sh
echo "0 4 * * * /opt/rclone/sync.sh" | crontab -
八、Web GUI 管理
# 启动 Rclone Web GUI
rclone rcd --rc-web-gui --rc-addr 127.0.0.1:5572 --rc-user admin --rc-pass admin_pass_2026 &
# 通过 SSH 隧道访问
ssh -L 5572:127.0.0.1:5572 root@your-server-ip
九、常见问题
传输速度慢
# 增加并发传输数
rclone copy /data myS3:bucket/data --transfers 16 --checkers 32
API 限流
某些云存储有 API 调用频率限制,使用 --tpslimit 参数限制请求速率。
总结
Rclone 是管理多云存储数据的终极工具,搭配 Restic 或 BorgBackup 可以构建完整的异地备份方案。需要 P2P 同步可以参考 Syncthing。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,购买链接:bwh81.net。