banner
年糕

年糕日记

此站为备份站点,最新文章请访问 oior.net
telegram
email

Rclone常用命令參數

前言#

Rclone 是一個命令行工具,支持在不同對象存儲、網盤間同步、上傳、下載數據。並且通過一些設置可以實現離線下載、伺服器備份等非常實用的功能。本篇文章將講解 Rclone 常用的一些命令參數。

Rclone 設定#

rclone config - 進入互動式配置選項,進行添加、刪除、管理網盤等操作。詳細操作參見:《Rclone 安裝配置教程

rclone config file - 顯示配置文件的路徑,一般配置文件在 ~/.config/rclone/rclone.conf

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 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 個級別的日誌記錄,ERRORNOTICEINFODEBUG。默認情況下,rclone 將生成 ERRORNOTICE 級別消息。

  • -q - rclone 將僅生成 ERROR 消息。
  • -v - rclone 將生成 ERRORNOTICEINFO 消息, 推薦此項
  • -vv - rclone 將生成 ERRORNOTICEINFODEBUG 消息。
  • --log-level LEVEL - 標誌控制日誌級別。

輸出日誌到文件#

使用 --log-file=FILE 選項,rclone 會將 ErrorInfoDebug 消息以及標準錯誤重定向到 FILE,這裡的 FILE 是你指定的日誌文件路徑。

另一種方法是使用系統的指向命令,比如:

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

文件過濾#

--exclude - 排除文件或目錄。

--include - 包含文件或目錄。

--filter - 文件過濾規則,相當於上面兩個選項的其它使用方式。包含規則以 + 開頭,排除規則以 - 開頭。

文件類型過濾#

比如 --exclude "*.bak"--filter "- *.bak",排除所有 bak 文件。也可以寫作。

比如 --include "*.{png,jpg}"--filter "+ *.{png,jpg}",包含所有 pngjpg 文件,排除其他文件。

--delete-excluded 刪除排除的文件。需配合過濾參數使用,否則無效。

目錄過濾#

目錄過濾需要在目錄名稱後面加上 /,否則會被當做文件進行匹配。以 / 開頭只會匹配根目錄(指定目錄下),否則匹配所目錄。這同樣適用於文件。

--exclude ".git/" 排除所有目錄下的.git 目錄。

--exclude "/.git/" 只排除根目錄下的.git 目錄。

--exclude "{Video,Software}/" 排除所有目錄下的 VideoSoftware 目錄。

--exclude "/{Video,Software}/" 只排除根目錄下的 VideoSoftware 目錄。

--include "/{Video,Software}/**" 僅包含根目錄下的 VideoSoftware 目錄的所有內容。

文件大小過濾#

默認大小單位為 kBytes ,但可以使用 kMG 後綴。

--min-size 過濾小於指定大小的文件。比如 --min-size 50 表示不會傳輸小於 50k 的文件。

--max-size 過濾大於指定大小的文件。比如 --max-size 1G 表示不會傳輸大於 1G 的文件。

TIPS: 博主在實際使用中發現大小過濾兩個選項不能同時使用。

過濾規則文件#

--filter-from <規則文件> 從文件添加包含 / 排除規則。比如 --filter-from filter-file.txt

過濾規則文件示例:

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

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

環境變量#

rclone 中的每個選項都可以通過環境變量設置。環境變量的名稱可以通過長選項名稱進行轉換,刪除 -- 前綴,更改 -_,大寫並添加前綴 RCLONE_。環境變量的優先級會低於命令行選項,即通過命令行追加相應的選項時會覆蓋環境變量設定的值。

比如設置最小上傳大小 --min-size 50,使用環境變量是 RCLONE_MIN_SIZE=50。當環境變量設置後,在命令行中使用 --min-size 100,那麼此時環境變量的值就會被覆蓋。

常用環境變量#

  • RCLONE_CONFIG - 自定義配置文件路徑
  • RCLONE_CONFIG_PASS - 若 rclone 進行了加密設置,把此環境變量設置為密碼,可自動解密配置文件。
  • RCLONE_RETRIES - 上傳失敗重試次數,默認 3 次
  • RCLONE_RETRIES_SLEEP - 上傳失敗重試等待時間,默認禁用,單位smh分別代表秒、分鐘、 小時。
  • CLONE_TRANSFERS - 並行上傳文件數。
  • RCLONE_CACHE_CHUNK_SIZE - 塊的大小,默認 5M,理論上是越大上傳速度越快,同時佔用內存也越多。如果設置得太大,可能會導致進程中斷。
  • RCLONE_CACHE_CHUNK_TOTAL_SIZE - 塊可以在本地磁碟上佔用的總大小,默認 10G。
  • RCLONE_IGNORE_ERRORS=true - 跳過錯誤。
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。