用rclone的筆記 - 免空

Oscar avatar
By Oscar
at 2019-01-26T01:12

Table of Contents

還是記個筆記吧

暑假時用的rclone,寒假就全忘光了....
雖然有存當初的網址,但重新掌握還是需要時間
加上這次學了不少新東西,還是記個筆記比較實在...

1.使用方法:

rclone 動作 來源地址 目標地址 flag

動作常用的有:
config (設定)
ls (列出目錄與子目錄底下全部的元素)
lsd (只列出目錄底下的元素)
copy (複製,略過已經複製過的)
sync (同步,以來源為準,目標少的會複製、多的會刪除)

來源位置&目標位置可為 本機位置 或 遠端位置

flag常用的有:
-v
(顯示完整資訊,想要顯示進度要有這項)
--bwlimit xxxxK/M/G
(限制上傳速度,後面是單位可為K/M/G,例如:--bwlimit 8000k)
--checksum
(上傳時做完整檢查,以確保來源與目標完全相同(hash?),
需要注意的是,過程中硬碟會不停的讀取且速度會降低)
--size-only
(上傳時只比對檔案的大小,相對checksum快,但可能有錯)
--dry-run
(試跑一次,看看會對目標做什麼變動)
--transfers int
(一次傳送多少個檔案,預設為4)

範例:
rclone copy D1: D2: -v -size-only -bwlimit 1800k
(從 D1: 複製到 D2:,顯示完整資訊 只比對雙方檔案大小 上傳速度
1800KB/s)
rclone sync D1:test/ D2:test/ -v -size-only
(從 D1: 同步到 D2:,顯示完整資訊 只比對雙方檔案大小)
2.過濾器:
rclone 不能直接在路徑上使用萬用字元,要使用一種flag來使用

例如不能用 D1:test/*.jpg 來表示D1:test/目錄下的全部jpg檔
要使用 D1:test/ --include *.jpg 來表示

其中規則應該是支援正規表達式的,不過我對正規不太熟.....
因為我對這也不熟,所以我就直接用官網的範例了.....

如果模式以"/"開頭,代表他在目錄的頂層,不往下搜尋
例如:
rclone ls D1: --include *.jpg
會列出:
D1:1.jpg
D1:2.jpg
但也會列出:
D1:test/1.jpg
D1:test/2.jpg
如果改成:
rclone ls D1: --include /*.jpg
則只會印出
D1:1.jpg
D1:2.jpg

p.s. windows v1.44好像沒辦法用"/"?

3.結合管線使用

這不做筆記我一定會忘掉......

rclone 有兩個指令:
cat
rcat

cat 和 linux 上的基本一樣,就是把檔案從stdout印出來
不過rclone cat 可以印目錄
(ex: rclone cat D1: 把D1:和子目錄底下的檔案全部印出來)

rcat 做的是和 cat 相反,他是將stdin的東西存到一個檔案裡
(ex: cat file.txt | rclone rcat D1:file.txt)

結合tar便可以將小檔案打包起來,藉由管線傳到rclone去處理
再加上這個好心人的腳本,便可分割上傳
https://github.com/Riebart/pipechunker
(我不會python不知道他有沒有暫存檔案,但好像沒有?)

3.1
tar 常用指令(原諒我不學無術又偷懶:P)
http://www.vixual.net/blog/archives/127

3.2
用gnupg ase 256加密

gpg --symmetric --cipher-algo AES256
輸入來自stdin,輸出至stdout
這個指令會要你輸入兩次密碼

解密時用gpg就好了
輸入一樣來至stdin,輸出一樣至stdout
如果要存入檔案,可以用gpg | cat > file

有些裝置會顯示
gpg: signing failed: Inappropriate ioctl for device

可用 export GPG_TTY=$(tty) 解決

3.3
pv顯示進度

這東西好像會顯示管線的進度(已經傳多少MB,現在每秒多少MB)
用 | pv | 夾在管線和管線中間即可使用
3.4
pipechunk.py

好心人寫的腳本,可以把tar的資料串流,分隔成一個一個的塊,再借由
rclone上傳到雲端硬碟

https://github.com/Riebart/pipechunker

作者給的使用範例:
tar -cf - MyMachine/ |
gpg --compress-algo none -er [email protected] | pv |
python3 ~/Desktop/pipechunk.py
--name
"od:/WindowsImageBackup/MyMachine.2018-12-01/MyMachine-2018-12-01
.tar.enc"
--command '["rclone", "rcat", "--verbose", "--stats", "10s"]'
--chunk-size 50000000
--parallel 8

--chunk-size 是指要每個分割檔要多大,範例是50MB一個分割
上傳後的檔案名會是 file_name.0001,file_name.0002 以此類推

需要注意的是--command 裡的參數每有一個空格就要加一次""
例如我想要加上 --bwlimit 1500K,就要寫成
'["--bwlimit", "1500K"]'

p.s. 不會python,看了老半天也不知道他是全部分割好再上傳還是,串流
上傳,不過我傾向於後者

p.s2 補充,上傳大檔案後發現應該是串流上傳,並且會使用RAM做暫存
如果一個區塊大小是1G --parallel為8 的話會吃8G的RAM
可以適時的調整區塊大小和--parallel
p.s3 --parallel參數是開幾個rclone同時上傳,如果--parallel為4
--bwlimit 500k上傳限制就會是500k*4 = 2000k

3.5
下載再還原

如果還是要使用管線來達成可用rclone cat指令,將全部的分割檔全部下載
並還原

例如:
rclone cat D1:tar/ | gpg | pv | tar -x



大概4jone,之後想到什麼再寫上來...

--
Tags: 免空

All Comments

Hardy avatar
By Hardy
at 2019-01-29T02:34
Ida avatar
By Ida
at 2019-02-02T07:19
推至看的懂前面 問一下如果資料夾檔名有空白要如何表
Bethany avatar
By Bethany
at 2019-02-04T21:37
在空白的前面加"\"(跳出字元) 例如"a b" => "a\ b"
Carolina Franco avatar
By Carolina Franco
at 2019-02-08T16:09
推分享~
Bennie avatar
By Bennie
at 2019-02-11T01:48
馬克
Bethany avatar
By Bethany
at 2019-02-12T00:27
怎不用rclone crypt
Carolina Franco avatar
By Carolina Franco
at 2019-02-13T01:04
沒什麼特殊的理由,單純是懶的設定rclone.....
Carolina Franco avatar
By Carolina Franco
at 2019-02-17T05:34
推分享
James avatar
By James
at 2019-02-21T17:17
真的有懶嗎~ 感覺你已經用到一堆我都沒用過的XD
Odelette avatar
By Odelette
at 2019-02-22T04:18
就是用了一堆沒用過的,所以最後沒力氣了XD
James avatar
By James
at 2019-02-25T20:36
資料夾檔名的部分,用tab鍵簡單多了

百度網盤下載好慢有什麼方法?

Brianna avatar
By Brianna
at 2019-01-25T07:36
百度網盤都限速 好煩 目前用速盤沒多久就跑錯誤紅字了...後來用腳本idm感覺有些不能載不知道是不是不能超過一定容量?希望能有好方法一起交流 - ...

請問115目前代抓狀況如何?

Thomas avatar
By Thomas
at 2019-01-24T20:40
如題,之前我曾買過一年的會員,覺得代抓部份還OK,但後來沒有再續買 我知道價格稍貴,而且最近似乎對岸有新一波掃盗版的消息 想請問還有會員身分的版友,現在代抓功能還正常嗎? 我是平常較常用的是影集、偶爾會下電影和迷片, 有爬之前文章說似乎有一陣子風聲緊的時候代抓無法正常抓到。 先謝謝回答了 - ...

Mega單檔超過5GB,換ip無法下載

Hamiltion avatar
By Hamiltion
at 2019-01-24T15:40
今天下載了n個mega檔案,也換了數次ip,幾乎所有檔案都完成了 就只剩下兩個檔案大小超過5gb的連結,不管換幾次ip,永遠都要倒數1分鐘 一分鐘之後又是一分鐘的無限迴圈,一直無法下載 不知此版放迷之連結會不會被水桶,一直無法下載 又抓不出原因,也找不到破解方法 - ...

G-Suite basic/Business 漲價(2019/04/02起)

Annie avatar
By Annie
at 2019-01-24T07:21
今早收到google的來信了 G Suite Basic 的價格將從每客戶每月 5 美元漲到 6 美元 G Suite Business 每客戶則從每月 10 美元漲到 12 美元 G Suite 的價格調漲全球通用,全世界用戶都會在 4 月 2 日開始調整為新的價格, 不過各地區有可能會個別調整。 ...

GCP使用f1-micro 流量問題

Dorothy avatar
By Dorothy
at 2019-01-23T15:55
如題 小弟最近開通了GCP,一年內有300鎂扣打可以用 GCP的下載不算流量,而且如果上傳流量是Google的服務也不算流量 目前是用rclone做 其他雲端硬碟 to google drive 和 google drive to google drive 但如果一年過了,又不想付錢,就只能改用f1-micr ...