使用Rclone工具进行数据备份

简介

Rclone 是一个的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。并且通过一些设置可以实现离线下载、服务器备份等非常实用的功能。与Restic相比,功能要更简单,没有版本等功能。

安装

下载地址:https://rclone.org/downloads/
下载后将rclone.exe拷贝至C:/window/system32目录

验证

打开cmd,输入以下命令,显示版本号则说明安装成功。

rclone version

设置

https://rclone.org/s3/#alibaba-oss

rclone config – 进入交互式配置选项,进行添加、删除、管理网盘等操作。

运行后,将在C:\Users\用户名\AppData\Roaming\rclone目录下,生成一个rclone.conf文件,内容格式如下:

[oss]
type = s3
provider = Alibaba
env_auth = false
access_key_id = accesskeyid
secret_access_key = secretaccesskey
endpoint = oss-cn-hangzhou.aliyuncs.com
acl = private
storage_class = Standard

如果其他的电脑需要安装配置,只需要把这个文件拷贝至C:\Users\用户名\AppData\Roaming\rclone目录下即可
如果你是要使用系统内置账户(例如SYSTEM)来执行计划任务,那么这个配置文件是在C:\Windows\System32\config\systemprofile\AppData\Roaming\rclone\rclone.conf
如果是linux系统且用户为root,那么配置文件在/root/.config/rclone/rclone.conf

显示配置文件的路径

rclone config file

显示配置文件信息

rclone config show

命令语法

# 本地到网盘
rclone [功能选项] <本地路径> <网盘名称:路径> [参数] [参数] ...

# 网盘到本地
rclone [功能选项] <网盘名称:路径> <本地路径> [参数] [参数] ...

# 网盘到网盘
rclone [功能选项] <网盘名称:路径> <网盘名称:路径> [参数] [参数] ...

备份

rclone copy -P E:/wwwroot oss:backup

E:/wwwroot目录上传至oss中的backup文件夹。注:oss的配置信息已在rclone.conf配置文件中指定。

同步

rclone sync -P E:/wwwroot oss:backup

将源(E:/wwwroot)同步到目标(oss:backup),仅更改目标。不传输源和目标上相同的文件,按大小和修改时间或 MD5SUM 进行测试。更新目标以匹配源,包括在必要时删除文件。

常用功能选项

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 是你指定的日志文件路径。
另一种方法是使用系统的指向命令,比如:

rclone sync -v Onedrive:/DRIVEX Gdrive:/DRIVEX > "~/DRIVEX.log" 2>&1

文件过滤

--exclude-from excludes.txt  #从excludes.txt中读取要排除的文件或目录
--include-from includes.txt  #从includes.txt中读取要备份的文件或目录

常用命令

查看远程文件夹的体积占用大小

rclone size remote:path

挂载为本地磁盘

windows使用rclone挂载为本地磁盘需要先安装winfsp,下载地址:https://winfsp.dev/rel/

挂载命令

rclone mount remote:path/to/files /path/to/local/mount

例如:

rclone.exe mount minio:backup X: --volname BACKUP

minio:backup挂载到本地X磁盘,磁盘名为:BACKUP

显示“The service rclone has been started.”则说明挂载成功,此时打开我的电脑,可以看到挂载的盘符:

设置开机启动

采用开机自动挂载的方式,可有效解决电脑重启磁盘消失的问题,省去重新手动挂载的麻烦。
新建两个文件,分别为rclone.batrclone.vbs

rclone.bat内容如下:

rclone.exe mount minio:backup X: --volname BACKUP --vfs-cache-mode writes --vfs-cache-max-size 40G &

rclone.vbs内容如下:

CreateObject("WScript.Shell").Run "cmd /c D:/rclone.bat",0

注意:D:/rclone.bat为rclone.bat的文件路径。

将rclone.vbs文件放到windows系统启动项目录下,在文件夹的路径框中输入
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
即可进入启动项目录。

至此,磁盘挂载完成,且电脑下次开机时,X磁盘也不会消失。

更多参考官方文档

发表评论

邮箱地址不会被公开。 必填项已用*标注