介绍
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
如图所示即为挂载成功
添加其他云存储
输入 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.mmcool.site/4697.html