原文網址:https://p3terx.com/archives/rclone-advanced-user-manual-common-command-parameters.html

Rclone 是一個的命令列工具,支援在不同物件儲存、網盤間同步、上傳、下載資料。並且透過一些設定可以實現離線下載、伺服器備份等非常實用的功能。本篇文章將說明 Rclone 常用的一些指令參數。

安裝Rclone

官方提供了一鍵安裝腳本:

curl https://rclone.org/install.sh | sudo bash

Rclone 設定

rclone config - 进入交互式配置选项,进行添加、删除、管理网盘等操作。
rclone config file - 显示配置文件的路径,一般配置文件在 ~/.config/rclone/rclone.conf,更换服务器可直接copy该文件。
rclone config show - 显示配置文件信息

命令語法

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

用法範例

rclone move -v /Download Onedrive:/Download --transfers=1

常用功能選項

rclone copy - 复制
rclone move - 移动,如果要在移动后删除空源目录,请加上 --delete-empty-src-dirs 参数
rclone sync - 同步:将源目录同步到目标目录,只更改目标目录。
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 - 显示实时传输进度。
--cache-chunk-size SizeSuffi - 块的大小,默认 5M,理论上是越大上传速度越快,同时占用内存也越多。如果设置得太大,可能会导致进程中断。
--cache-chunk-total-size SizeSuffix - 块可以在本地磁盘上占用的总大小,默认 10G。
--transfers=N - 并行文件数,默认为 4。在比较小的内存的 VPS 上建议调小这个参数,比如 128M 的小鸡上使用建议设置为 1。
--config string - 指定配置文件路径,string 为配置文件路径。比如在使用宝塔面板输入命令操作时可能会遇到找不到配置文件的问题,这时就需要指定配置文件路径。

紀錄

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 排除文件或目录。比如 --exclude *.bak,排除所有 bak 文件。
--include 包含文件或目录。比如 --include *.{png,jpg} ,包含所有 png 和 jpg 文件,排除其他文件。
--delete-excluded 删除排除的文件。需配合过滤参数使用,否则无效。

目錄過濾

--exclude .git/ 排除所有目录下的 .git 目录。
--exclude /.git/ 只排除根目录下的 .git 目录。

以/開頭只會符合根目錄,而如果沒有,則是符合所目錄。同樣適用於文件。

文件大小過濾

預設大小單位為 kBytes ,但可以使用 k ,M 或 G 後綴。

--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。
--max-size 过滤大于指定大小的文件。比如 --max-size 1G 表示不会传输大于 1G 的文件。

文件過濾規則

--filter-from <规则文件> 从文件添加包含 / 排除规则。比如 --filter-from filter-file.txt。

過濾規則檔案範例:

- secret*.jpg
+ *.jpg
+ *.png
+ file2.avi
- /dir/Trash/**
+ /dir/**
- *

+ 是包含,- 是排除

這裡只舉例比較常用和簡單的一些過濾用法,更複雜和高端的用法可以查看官方文件。

下面要把GoogleDrive網盤掛載到雲端主機/VPS上

新建一個你要掛載的目錄,例如掛載到/home/gdrive

mkdir -p /home/gdrive

再執行掛載指令:

rclone mount gd: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes

gd 為 Rclone 的設定名稱,例如你在建立設定 rclone 的時候 Name 填的 gd,/home/gdrive 為本機路徑;

這裡也可以自訂設定網盤裡的資料夾路徑,例如:

rclone mount gd:backup /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes

gd:backup gd 為 Rclone 的設定名稱:backup 為網盤裡的目錄名

掛載只要幾秒鐘,但終端不會回傳成功訊息,關閉 SSH 重連即可,不能Ctrl+C

重連後檢查是否掛載成功:

df -h

有看到gd硬碟、使用量和本地主機路徑即成功掛載

gd: 15G  1.1M   15G   1% /home/gdrive

解除安裝 Google Drive 磁碟

fusermount -qzu /home/gdrive


發表評論