介绍
Rclone 是一个支持 70 多种云存储的备份工具,包括常见 S3 对象存储、WebDav、OneDrive 网盘等。只需通过 rclone copy 等简单的命令,就可以实现本地文件同步至云存储。
本教程以挂载onedrive为例,其他云存储请自行谷歌。
注意安装fuse3(必要)!
点这里:官方文档
一键脚本
curl https://rclone.org/install.sh | sudo bash

添加云存储
输入 rclone config

选择n,添加新云存储**(以onedrive为例)**

输入云存储名字(随意),然后选择onedrive(软件版本更新会导致顺序号更新,选择onedrive即可)

Client Id 和 Client Secert 可以直接回车使用默认值,然后选择1,global

advanced config和use browser均选择n,来到输入token界面

获取token
下载windows版rclone,点这里:官方下载
在解压目录下右键用终端打开,输入以下命令跳转浏览器
.\rclone.exe authorize "onedrive" (或者复制图片中给出的那一行命令,注意:前面要加 .\)谷歌云盘同理
输入onedrive账户后就会得到token


整个大括号就是token,包括大括号。
输入token,选择1(onedrive),再一路y即可。


挂载到本地
1.新建一个文件夹用于挂载
mkdir -p /home/onedrive
2.挂载命令
rclone mount onedrive: /home/onedrive --allow-other --vfs-cache-mode writes --allow-non-empty --no-modtime &
其中 onedrive 是 rclone 配置时输入的 配置名称,/home/onedrive 是挂载目录,& 是指后台运行
3.如果报错请安装fuse3(必要)
apt install -y fuse3
4.检查挂载
df -h
如图所示即为挂载成功

请注意:重启服务器后会掉盘,请重新挂载绑定!
5.卸载挂载
fusermount -u /path/to/local/mount #/path即为挂载路径
添加其他云存储
输入 rclone config,选择要挂载的云存储,重复上述步骤
copy使用
rclone copy /路径 挂载的云存储名:/文件夹 -v
如本地test文件夹复制到onedrive的test文件夹
rclone copy /test onedrive:/test -v
定时备份
1.新建一个 sh 脚本,如 rclone.sh,填入以下命令sh
#!/bin/bash rclone copy /path/to/files 存储名:文件夹
2.赋予运行权限
chmod 755 rclone.sh
3.添加定时任务
crontab -esh
0 0 * * * /root/rclone.sh >> /root/rclone.log 2>&1
4.保存后,每天的 0 点,就会自动运行 rclone.sh 脚本,将文件备份到指定的云存储
常用命令
开机自启
# 开机自启 systemctl enable rclone # 启动 systemctl start rclone # 重启 systemctl restart rclone # 停止 systemctl stop rclone
复制和同步
#本地上传到网盘 r clone [指令名称] [本地路径] [网盘名称:网盘路径] [flags] [flags] # 网盘下载到本地 rclone [指令名称] [网盘名称:网盘路径] [本地路径] [flags] # 网盘上传/下载到网盘 rclone [指令名称] [网盘名称:网盘路径] [网盘名称:网盘路径] [flags] [flags] # 显示速度 -v # 指令copy sync
常用功能
rclone copy– 复制rclone move– 移动,如果要在移动后删除空源目录,请加上--delete-empty-src-dirs参数rclone sync– 同步:将源目录同步到目标目录,只更改目标目录。rclone size– 查看网盘文件占用大小。rclone delete– 删除路径下的文件内容。rclone purge– 删除路径及其所有文件内容。rclone mkdir– 创建目录。rclone rmdir– 删除目录。rclone rmdirs– 删除指定灵境下的空目录。如果加上--leave-root参数,则不会删除根目录。rclone check– 检查源和目的地址数据是否匹配。rclone ls– 列出指定路径下的所有的文件以及文件大小和路径。rclone lsl– 比上面多一个显示上传时间。rclone lsd列出指定路径下的目录rclone lsf– 列出指定路径下的目录和文件
常用参数
-n=--dry-run– 测试运行,用来查看 rclone 在实际运行中会进行哪些操作。-P=--progress– 显示实时传输进度,500mS 刷新一次,否则默认 1 分钟刷新一次。--cache-chunk-size SizeSuffi– 块的大小,默认5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。--cache-chunk-total-size SizeSuffix– 块可以在本地磁盘上占用的总大小,默认10G。--transfers=N– 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如128M的小鸡上使用建议设置为1。--config string– 指定配置文件路径,string为配置文件路径。--ignore-errors– 跳过错误。比如 OneDrive 在传了某些特殊文件后会提示Failed to copy: failed to open source object: malwareDetected: Malware detected,这会导致后续的传输任务被终止掉,此时就可以加上这个参数跳过错误。但需要注意 RCLONE 的退出状态码不会为0。
日志
rclone 有 4 个级别的日志记录,ERROR,NOTICE,INFO 和 DEBUG。默认情况下,rclone 将生成 ERROR 和 NOTICE 级别消息。
-q– rclone将仅生成ERROR消息。-v– rclone将生成ERROR,NOTICE和INFO消息,推荐此项。-vv– rclone 将生成ERROR,NOTICE,INFO和DEBUG消息。--log-level LEVEL– 标志控制日志级别。
输出日志到文件
使用 --log-file=FILE 选项,rclone 会将 Error,Info 和 Debug 消息以及标准错误重定向到 FILE,这里的 FILE 是你指定的日志文件路径。
发布者:木木,转载请注明出处:https://blog.huzz.cn/4697.html
微信
支付宝