本篇重點如下:
1.本篇使用情境及教學大綱
2.Ubuntu 使用教學 (GoogleDrive 為例,其他空間可適用)
3.Windows使用教學(GoogleDrive 為例,其他空間可適用)
4.如何掛載/卸載
5.網空互傳/本地及網空互傳
6.可能遇到的錯誤訊息
Rclone下載網址:下載
1.本篇使用情境及教學大綱
Rclone一直都有在更新,最近又有需求,但發現其過程困難重重,所以才來寫一篇文章,希望有幫助到各位。
不論是網空互傳,又或是本地傳網空及反傳,本篇都完整教學,每一部重點和要領通通告訴你。
不用再疑惑哪個步驟是否有漏,哪個步驟沒做好等等
本篇重點:環境是否有瀏覽器,無瀏覽器的做法??
有瀏覽器的環境絕對簡單到不行
無瀏覽器的則挺複雜的
2.Ubuntu 使用教學
首先按照以下輸入(本篇習慣用sudo開始指令,google cloud常常會有權限不足問題,環境主要以google cloud的ssh無瀏覽器環境為各位解說)
首先是安裝
curl https://rclone.org/install.sh | sudo bash
# 1. 拿到文件解壓縮並到該目錄
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
# 2. 複製文件並修改資料夾權限
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
#以上curl的命令可更換成wget、axel,也可以直接(瀏覽器)下載
#安裝的方式很多元,就不一一描述了
#接著設定Rclone
rclone config
這邊會是一串問答及顯示,重要說明地方會標紅字說明,藍色則為回答的區塊
Name Type
==== ====
(yourname) GoogleDrive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n #新建連線為N 刪除為D 改名為R (本範例已經先創一個了)
name> #設定自己要標註的名字
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / A stackable unification remote, which can appear to merge the contents of several remotes
\ "union"
2 / Alias for a existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Box
\ "box"
26 / Yandex Disk
\ "yandex"
27 / http Connection
\ "http"
Storage> 17 # 中間吃掉,截至20220626已經有支援40多個網空了,這邊選擇你需要的網空就OK
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Google Application Client Id - leave blank normally.
client_id> #留空,目前googledrive的api及auth的密鑰已經不用手KEY,若你是無瀏覽器版本請看下一段說明
Google Application Client Secret - leave blank normally.
client_secret> #留空,目前googledrive的api及auth的密鑰已經不用手KEY,若你是無瀏覽器版本請看下一段說明
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
2 / Read-only access to file metadata and file contents.
\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> 1
ID of the root folder
Leave blank normally.
Fill in to access "Computers" folders. (see docs).
Enter a string value. Press Enter for the default ("").
root_folder_id> #留空
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default ("").
service_account_file> #留空
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n #输入n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> n #這邊需要注意,有瀏覽器版本的請選Y,會提示網址給你進行登入,上面的clientID和密鑰也會一同處理好,若是無瀏覽器版本的請不要參考這,請從文章最後的錯誤提示找解答。
#不同的網空賄選不同的選項,googledrive是Y 其他可能是N
#剩下的就確認資料正確性及退出就可以了,選Y然後Q退出
client_id> #這不是帳號也不是驗證碼,是API提供的ID序號,非常長的一串,由網空提供,可能部分網空可以直接設定,但GoogleDrive即使設定仍然需要經過瀏覽器驗證
client_secret> #這同樣是網空提供的驗證碼
再次提醒GoogleDrive一定要經過瀏覽器驗證,所以需要一台電腦是有瀏覽器的,將設定好的rclone.conf放到Ubuntu的目錄下
可參考windows的教學,再將conf檔丟到Ubuntu的系統路徑上
windows設定檔路徑如下: C:\Users\使用者名稱\AppData\Roaming\rclone\rclone.conf
ubuntu設定檔路徑如下: ~/.config/rclone/rclone.conf
將設定好的windows設定檔扔到ubuntu下即可使用
此為官方解法
無其他解
掛載教學
為了方便,建議使用screen,背景執行來運作,否則掛載會需要放在那邊卡著,退出就無用了。
sudo apt-get install screen
創建背景執行cmd視窗指令如下(-S的S為大寫 千萬注意):
screen -S [NAME]
退出screen按法: ctrl+a+d
查看有多少背景執行 screen -ls
回去查看screen: screen -r [你設定的name]
sudo rclone mount [rclone中設定的名字]:[如果不設定網空下路徑的話請直接空白] [要掛載的資料夾名稱] --umask 0000 --default-permissions --allow-non-empty --allow-other --transfers 4 --buffer-size 32M --low-level-retries 200
#範例如下
sudo rclone mount gd: t09 --umask 0000 --default-permissions --allow-non-empty --allow-other --transfers 4 --buffer-size 32M --low-level-retries 200
掛載好後會卡在那邊不能動,代表已經掛載好並且執行了
可以退出screen: ctrl+a+d
接著輸入:
df -h
可以查看目前掛載的硬碟有哪些,前面都做對應該會看到自己網空
要確認檔案有沒有完全掛載
可以在該資料夾下指令查看全部檔案:
tree
# 本地到網空
rclone [功能選項] <本地路徑> <配置名稱:路徑> [參數] [參數]
# 網空到本地
rclone [功能選項] <配置名稱:路徑> <本地路徑> [參數] [參數]
# 網空到網空
rclone [功能選項] <配置名稱:路徑> <配置名稱:路徑> [參數] [參數]
# [參數]為可選項
# 複製到網空,並顯示傳輸進度,設置並行上傳數為16
rclone copy -P /home/SunPma GD:/home/SunPma --transfers=16
# 如果需要網空對網空的傳輸可加以下參數(不消耗本地流量,不確定是否真不消耗)
rclone copy 配置名稱:網盤路徑 配置名稱:網盤路徑 --drive-server-side-across-configs
結合以上,需要顯示進度且上傳數為32,且需要網空對網空傳檔,指令如下:
rclone copy -P 配置名稱:網盤路徑 配置名稱:網盤路徑 --drive-server-side-across-configs --transfers=32
3.Windows教學
因window有瀏覽器所以很簡單
請下載以下檔案並安裝
rclone : https://rclone.org/downloads/
winfsp : http://www.secfs.net/winfsp/download/
建議rclone直接放到C曹下的路徑
本文放置C:\rclone\ 內
接著設定環境變數
1.請打開我的電腦(本機)
2.空白處右鍵選內容,接著跳出視窗左側選進階系統設定
3.彈開視窗,進階頁面的最下面有環境變數,點開
4.下方系統變數中的變數 [PATH] 選擇並按編輯
5.新增你rclone路徑,本文路徑為: C:\rclone
6.接著按鍵盤的win鍵打開電腦的左下角的[開始],直接打cmd會看到小黑窗並打開
7.輸入指令: rclone –version ,如果沒問題會顯示rclone的版本,沒問題就是流程都沒做錯
小黑窗輸入rclone config開始設定參數
Name Type
==== ====
(yourname) GoogleDrive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n #新建連線為N 刪除為D 改名為R (本範例已經先創一個了)
name> #設定自己要標註的名字
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
1 / A stackable unification remote, which can appear to merge the contents of several remotes
\ "union"
2 / Alias for a existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc)
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Box
\ "box"
26 / Yandex Disk
\ "yandex"
27 / http Connection
\ "http"
Storage> 17 # 中間吃掉,截至20220626已經有支援40多個網空了,這邊選擇你需要的網空就OK
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Google Application Client Id - leave blank normally.
client_id> #留空,目前googledrive的api及auth的密鑰已經不用手KEY,若你是無瀏覽器版本請看下一段說明
Google Application Client Secret - leave blank normally.
client_secret> #留空,目前googledrive的api及auth的密鑰已經不用手KEY,若你是無瀏覽器版本請看下一段說明
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
2 / Read-only access to file metadata and file contents.
\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> 1
ID of the root folder
Leave blank normally.
Fill in to access "Computers" folders. (see docs).
Enter a string value. Press Enter for the default ("").
root_folder_id> #留空
Service Account Credentials JSON file path
Leave blank normally.
Needed only if you want use SA instead of interactive login.
Enter a string value. Press Enter for the default ("").
service_account_file> #留空
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n #输入n
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> n #這邊需要注意,有瀏覽器版本的請選Y,會提示網址給你進行登入,上面的clientID和密鑰也會一同處理好,若是無瀏覽器版本的請不要參考這,請從文章最後的錯誤提示找解答。
#不同的網空賄選不同的選項,googledrive是Y 其他可能是N
#剩下的就確認資料正確性及退出就可以了,選Y然後Q退出
掛載教學
rclone mount [rclone中設定的名字]:[如果不設定網空下路徑的話請直接空白] [要掛載的資料夾名稱] --umask 0000 --default-permissions --allow-non-empty --allow-other --transfers 4 --buffer-size 32M --low-level-retries 200
#範例如下
rclone -vv mount gd: t09 --umask 0000 --default-permissions --allow-non-empty --allow-other --transfers 4 --buffer-size 32M --low-level-retries 200
傳輸教學
# 本地到網空
rclone [功能選項] <本地路徑> <配置名稱:路徑> [參數] [參數]
# 網空到本地
rclone [功能選項] <配置名稱:路徑> <本地路徑> [參數] [參數]
# 網空到網空
rclone [功能選項] <配置名稱:路徑> <配置名稱:路徑> [參數] [參數]
# [參數]為可選項
# 複製到網空,並顯示傳輸進度,設置並行上傳數為16
rclone copy -P /home/SunPma GD:/home/SunPma --transfers=16
# 如果需要網空對網空的傳輸可加以下參數(不消耗本地流量,不確定是否真不消耗)
rclone copy 配置名稱:網盤路徑 配置名稱:網盤路徑 --drive-server-side-across-configs
結合以上,需要顯示進度且上傳數為32,且需要網空對網空傳檔,指令如下:
rclone copy -P 配置名稱:網盤路徑 配置名稱:網盤路徑 --drive-server-side-across-configs --transfers=32
6.可能遇到的錯誤訊息
ubuntu系統可能會遇到說節點卡住之類問題
那必須要先卸除掛載
fusermount -uz [your document]
及
sudo unmount -l [your document]
以下為網空傳網空實際畫面(我跑32線呈)