Rclone:玩轉Google Drive & One Drive

網路上的雲端硬碟服務其實蠻多的從Amazon、Asus 、Google、 Microsoft、Dropbox等雲端服務商比比皆是,往往我們可使用服務商所提供的工具來達到cloud異地同步 & 異地備份的效果,這時就需要Rclone來玩轉各個網路服務


像Google就會提供專屬的Google Drive Tool給用戶使用
這樣或許是最快速也最方便的方法
但如果你同時間使用多家的雲端的服務商
每家都安裝他們專屬的客戶端程式
就會覺得有點麻煩

另外大部分的服務商提供的Client大部份都是用來Cloud sync
有時候也許使用者只想簡單的把網盤掛載成一個本機額外的硬碟
這時我們就可以運用Rclone來實現這個方案

最近透過朋友介紹,開始使用rclone來整合這些服務
分別在CenntOS7及Debian8、Ubuntu16.04還有Windows7、10 實作
透過rclone config及mount,把電腦 or Server上的本機資料夾變成網盤資料夾

以下簡單介紹相關環境的安裝 & 應用

=============================================================

①安裝Rclone

Centos 7

Debian 8 & Ubuntu 16.04

Windows 7 & 10

先到官方下載 rcline windows版本應用程式

下載完後解壓縮,把解壓縮的rclone資料夾放到你想指定的硬碟位置
建議放置在c:\以外的地方以免權限問題
本範例我放置在d槽,所以路徑為 d:\rclone-v1.41-windows-amd64

安裝執行rclone所需要的環境庫 winfsp,可到官網下載

下載完winfsp直接執行安裝一直next到安裝完成


②rclone config設定

若以上安裝皆正確,輸入以下指令

會顯示如下圖示

接著我們就可以在rclone config mode設定相關的參數
以下範例分二部份,分別為Google Drive & Onedrive 設定

第一部份:Centos7環境當範例,掛載我的Google Drive團隊盤到Server本機資料夾

透過以上步驟,設定已完成,接著要mount網盤到我們的本機資料夾

在任意地方建立一個本機資料夾gd (以下範例為在/root 下建立一個gd資料夾)

透過 screen 背景執行 rclone 把團隊盤gd 掛載到本機/root/gd 資料夾下
因為前面設定name>時取名為gd,所以在指令行mount後面接 gd:

若成功掛載,輸入

可看到原本建立的空資料夾已經多了掛載的團隊盤資料

如何卸載

如後續不想使用了,想卸載已掛載的Google Drive網盤
重新開機就會自動卸載
也可以輸入以下指令手動卸載

開機自啟動 (請自行選擇要透過systemd還是rc.local來達到開機自啟動)

systemd service (以本篇教學範例為主,請自行更改成自己環境運行的路徑)

接著輸入

rc.local

第二部分:以下教學以 Windwos 10 64bit 範例,掛載Onedriver到Windows本機資料夾

開啟windows的cmd
由之前安裝步驟得知rclone的路徑為 d:\rclone-v1.41-windows-amd64

透過以上步驟,設定已完成,接著要mount網盤到我們的windows本機資料夾

在任意地方建立一個od緩存cache資料夾 (以下範例為在d:\下建立一個odtemp資料夾)

接著輸入以下指令,掛載Onedive到本機資料夾
x: 為在win系統中建立一個虛擬硬碟當onedrive掛載的目地,可依喜好自行修改
d:\odtemp 此資料夾為剛建立用來緩存onedrive資料傳輸時的暫存資料夾

成功的會看到如下圖示訊息 (視窗可縮小化,請勿關閉)

系統會多了一個x槽出來,並成功顯示onedrive網盤的內容可供存取

如何卸載

在windows卸載超級簡單,關掉cmd視窗,就自動卸載了

開機自啟動

透過記事本把上述指令另存成 rcmount.bat 然後建立一個rcmount.bat的捷徑

若覺得每次掛載都要輸入指令麻煩,也可執行rcmount.bat即可自動掛載

若要開機自啟動,把建立的捷徑放入Windows Start Menu資料夾

Win7 Start Menu
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Win10 Start Menu
%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup

③Rclone 指令集

請參考 官方指令集說明
最常用的指令一般為rclone copy or rclone sync
因應用廣泛,請自行官方說明這邊不多加述敘

在 Linux OS環境下
雖然也可以使用一些像cp的本機指令,但還是建議學會透過rclone指令來操作
有不少參數設定可以讓掛載的Cloud Service更具體化
例如使用cp複制時,只會覆蓋原本已有的資料
使用rclone copy時,就會檢查本機 or 遠端已存在什麼資料
只會複制現階段本機 or 遠端缺少的資料

一般rcmount並不佔用本機硬碟的使用空間,除非sync同步或是把遠端cloud data copy到本機
但也不建議在使用pt時,直接輔種掛載的團隊硬盤,這樣非常容易出錯,而且並不會節省到任何本機硬碟空間
因為系統還是會下載遠端資料夾到資料到本機來補種,這點需特別注意

9 Replies to “Rclone:玩轉Google Drive & One Drive”

  1. c:\rc>C:\rc\rclone mount od:/ x: –cache-dir e:\odtemp –vfs-cache-mode writes –
    -allow-other –allow-non-empty
    2023/07/22 11:16:27 NOTICE: –allow-non-empty flag does nothing on Windows
    2023/07/22 11:16:27 NOTICE: –allow-other flag does nothing on Windows
    The service rclone has been started.


    您好,看起來有成功,但是我的電腦沒有出現x槽耶,是windows 7不能用嗎?

    1. 我用
      C:\rc\rclone mount od:/ x: –cache-dir e:\odtemp –vfs-cache-mode writes
      這個指令成功了,感謝您

    2. 你好,抱歉現在才回覆,一陣子沒來Blog了
      如果是Win7使用Google Drive的話,我推薦使用RaiDrive這個軟體
      在Win7上跑的比掛載Rclone還順,Win10以後的版本就沒什麼差異了

  2. 請問 rclone 掛載雲端硬碟真的不會佔用空間嗎?
    很怕 windows 被偷吃一堆資源卻找不到地方刪除

    1. 抱歉
      目前手边没有masOS的机器
      所以我也不知该怎么挂载

      下面是官方的教学,你可以试试
      macOS installation from precompiled binary

      Download the latest version of rclone.

      Unzip the download and cd to the extracted folder.

      Move rclone to your $PATH. You will be prompted for your password.

      (the mkdir command is safe to run, even if the directory already exists).

      Remove the leftover files.

      Run rclone config to setup. See rclone config docs for more details.

      Install from source

      Make sure you have at least Go 1.7 installed. Download go if necessary. The latest release is recommended. Then

      You can also build and install rclone in the GOPATH (which defaults to ~/go) with:

      and this will build the binary in $GOPATH/bin (~/go/bin/rclone by default) after downloading the source to $GOPATH/src/github.com/ncw/rclone (~/go/src/github.com/ncw/rclone by default).
      Installation with Ansible

      This can be done with Stefan Weichinger’s ansible role.

      Instructions

      git clone https://github.com/stefangweichinger/ansible-rclone.git into your local roles-directory

      add the role to the hosts you want rclone installed to:

  3. 博主写的非常棒(๑•̀ㅂ•́)و✧!
    正在按照您的教程操作中,谢谢!!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *