設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

IT之家學(xué)院:強(qiáng)大的網(wǎng)盤管理工具Rclone安裝教程

2018/11/11 17:44:09 來源:IT之家 作者:hersxx1470 責(zé)編:玄隱
感謝IT之家網(wǎng)友 軟媒用戶1157091 的線索投遞!

上期給大家介紹了Go語言BT下載利器CloudTorrent,那么這期給大家?guī)淼囊琅f是一款基于Go語言的應(yīng)用——Rclone。Rclone是一款非常強(qiáng)大的網(wǎng)盤工具,能夠幫助用戶在終端界面管理包括Dropbox、Box、Onedrive、Gdrive、Mega等在內(nèi)的主流網(wǎng)盤中的各類資源,同時實用的掛載功能能夠把網(wǎng)盤掛載到本地(OpenVZ架構(gòu)的VPS不支持掛載)服務(wù)于Aria2、CloudTorrent等下載工具以及FileBrowser等私人網(wǎng)盤工具。

Rclone-GitHub首頁:https://github.com/ncw/rclone

檢查Rclone支持的網(wǎng)盤以及Rclone的官方安裝腳本請前往GitHub,本文繼續(xù)以Debian 9 VPS為例示范手動安裝方法,Windows版本不另作示范。

介于上期內(nèi)容許多家友覺得復(fù)雜,本期起取消所有的基礎(chǔ)命令解釋,想要學(xué)習(xí)手動配置但是基礎(chǔ)薄弱的家友可以自己搜索相關(guān)命令的含義進(jìn)行更改。

一、下載安裝

復(fù)制以下命令到終端或者SSH工具中執(zhí)行(整體復(fù)制,一個回車):

yum install unzip -y 

apt-get install unzip -y 

wget https://downloads.rclone.org/v1.44/rclone-v1.44-windows-amd64.zip

unzip rclone-v1.44-windows-amd64.zip

cd rclone-*/

mv rclone /usr/bin/

chmod 755 /usr/bin/rclone

mkdir -p /usr/local/share/man/man1

mv rclone.1 /usr/local/share/man/man1/

cd ..

rm -rf rclone-* 


安裝成功檢查:

此時執(zhí)行rclone命令出現(xiàn)相關(guān)指令的幫助證明安裝成功。

注意:

權(quán)限不足手動sudo或者sudo su啟動root賬戶,通常VPS默認(rèn)帳戶為root帳戶。

為方便配置網(wǎng)盤的示例展示,這里選擇rclone-1.44-linux-amd64版本的Rclone,如果需要不同版本請自行更換參數(shù)。

Rclone版本檢查頁面:https://downloads.rclone.org/

二、配置網(wǎng)盤

1.本地配置

這里我們以O(shè)nedrive for business為例,其余網(wǎng)盤根據(jù)應(yīng)用提示進(jìn)行操作。

執(zhí)行rclone config命令進(jìn)行配置

No remotes found - make a new one

n) New remote

s) Set configuration password

q) Quit config

無遠(yuǎn)端配置,請新建

n)新建

s)設(shè)置配置訪問密碼

q)退出配置

輸入n新建

遠(yuǎn)端網(wǎng)盤命名(配置好后以此命名操作網(wǎng)盤)

輸入one作為示范

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

Storage

選擇配置的存儲類型

輸入配置值,回車表示默認(rèn)

選擇以下你需要的存儲類型

輸入18選擇Onedrive作為示范

Microsoft App Client Id

Leave blank normally.

Enter a string value. Press Enter for the default ("").


微軟App Client Id

通常留空

輸入配置值,回車表示默認(rèn)

輸入回車留空


Microsoft App Client Secret

Leave blank normally.

Enter a string value. Press Enter for the default ("").

微軟App Client Secret,同上

輸入回車留空

Edit advanced config? (y/n)

y) Yes

n) No

是否進(jìn)行高級配置

y)是

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

遠(yuǎn)端配置

是否使用自動配置

是-通常情況

否-如果你使用遠(yuǎn)程訪問或者無圖形界面設(shè)備

y)是

n)否

輸入y啟動瀏覽器登陸Onedrive進(jìn)行授權(quán)

輸入n否,以無圖形界面瀏覽器的VPS作為示范

2.遠(yuǎn)端授權(quán)

如果使用谷歌網(wǎng)盤等靜態(tài)授權(quán)口令的網(wǎng)盤可以登陸網(wǎng)盤相關(guān)界面獲取,微軟Onedrive采用動態(tài)授權(quán)口令這里需要我們準(zhǔn)備裝有圖形界面瀏覽器和Rclone的設(shè)備,Linux圖形版本同下載安裝步驟操作,Windows版本不另作示范。

裝有圖形界面瀏覽器和Rclone的設(shè)備在終端中執(zhí)行:

rclone authorize "onedrive"

此時若終端不能調(diào)用瀏覽器,請手動用瀏覽器打開鏈接。

瀏覽器中授權(quán)成功后返回終端會生成自動授權(quán)碼。


復(fù)制這兩者間的所有內(nèi)容

<---End paste

3.繼續(xù)本地配置

For this to work, you will need rclone available on a machine that has a web browser available.

Execute the following on your machine:

   rclone authorize "onedrive"

Then paste the result below:

這種工作模式你需要一臺能裝有Rclone和瀏覽器的設(shè)備

在該設(shè)備上執(zhí)行rclone authorize "onedrive"獲取授權(quán)碼

把授權(quán)碼粘貼在此

粘貼我們復(fù)制的授權(quán)碼


Choose a number from below, or type in an existing value

Your choice

選擇以下數(shù)值選擇Onedive類型

1)OneDrive Personal or Business -Onedrive個人版或者企業(yè)版

2)Root Sharepoint site - Sharepoint站點

其余不常用

輸入1,以O(shè)nedrive for business作為示范


Found 1 drives, please select the one you want to use:

0: OneDrive (business) id=Onedrive ID

Chose drive to use:

找到1個存儲驅(qū)動器,請選擇你需要的

輸入0,某些Onedrive會有多個存儲驅(qū)動器


Found drive 'root' of type 'business', URL:

Is that okay?

y) Yes

n) No

找到存儲驅(qū)動器類型為企業(yè)版,訪問鏈接為:這個鏈接就是Onedrive映射到Windows本地磁盤的地址

是否正確

輸入y


y) Yes this is OK

e) Edit this remote

d) Delete this remote

y/e/d

這里Rclone會報一些網(wǎng)盤的配置參數(shù)

y)確定

e)編輯

d)刪除

輸入y,完成


三、使用命令

復(fù)制rclone copy source:sourcepath dest:destpath

移動rclone move source:sourcepath dest:destpath

刪除文件rclone delete

刪除空目錄rclone rmdir

刪除內(nèi)容無視目錄非空rclone purge remote:path

列表rclone ls remote:path

同步rclone sync source:path dest:path


示范中配置的Onedrive命名為one:

列出Onedrive的A0目錄下的文件內(nèi)容

rclone ls one:/A0

復(fù)制Onedrive的A0目錄到本地的/home目錄下

rclone copy one:/A0 /home


更多操作命令請訪問Rclone官方網(wǎng)站或者GitHub。


四、掛載網(wǎng)盤

復(fù)制以下命令到終端或者SSH工具中執(zhí)行:

yum install fuse -y

apt-get install fuse -y

mkdir /root/1drive

rclone mount one:/ /root/1drive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000


掛載成功檢查:

掛載成功執(zhí)行df -h會在分區(qū)中顯示掛載的網(wǎng)盤信息。

注意:

這里使用的是示范中命名為one的Onedrive網(wǎng)盤以及掛載到本地的/root/1drive目錄下,配置或者需求不同的家友可以手動修改。掛載完成后便可以放棄rclone的命令,進(jìn)而像本地磁盤那樣操作Onerdive中的內(nèi)容了。

OpenVZ架構(gòu)的VPS不支持掛載!


掛載命令開機(jī)自啟動

復(fù)制以下命令到終端或者SSH工具中執(zhí)行(整體復(fù)制,一個回車):

cat <<eof /usr/lib/systemd/system/1drive.service

[Unit]

Description=1drive

[Service]

User=root

ExecStart=/usr/bin/rclone mount one:/ /root/1drive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

Restart=on-abort

[Install]

WantedBy=multi-user.target

eof

systemctl daemon-reload

systemctl start 1drive

systemctl enable 1drive

systemctl status 1drive


注意:

這里ExecStart=后面的參數(shù)根據(jù)自己的配置進(jìn)行修改,這里僅以示范為例。

五、其他說明

如果我們把Rclone掛載的目錄設(shè)為Aria2或者CloudTorrent的下載目錄,可以看到顯示的剩余空間確實是網(wǎng)盤空間(CloudTorrent按照1000進(jìn)制計算的容量會偏大),但是這樣直接把網(wǎng)盤掛載目錄作為下載目錄的操作會導(dǎo)致下載的緩存文件下載的瞬間就被上傳,并不能生成一個完整的下載文件。

CloudTorrent由于應(yīng)用本身的問題目前只能夠手動上傳,而Aria2可以利用其配置來設(shè)置上傳腳本實現(xiàn)下載完成自動上傳Onedrive的,就此實現(xiàn)Onedrive的離線下載功能。


Aira2自動上傳腳本


#!/bin/bash

GID="$1";

FileNum="$2";

File="$3";

MinSize="5" #限制最低上傳大小,默認(rèn)5k

MaxSize="157286400" #限制最高文件大小(單位k),默認(rèn)15G

RemoteDIR="/RATS/"; #rclone掛載的本地文件夾,最后面保留/

LocalDIR="/download/"; #Aria2下載目錄,最后面保留/


if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi

if [[ "$FileNum" -le '0' ]]; then exit 0; fi

if [[ "$#" != '3' ]]; then exit 0; fi

function LoadFile(){

  IFS_BAK=$IFS

  IFS=$'\n'

  if [[ ! -d "$LocalDIR" ]]; then return; fi

  if [[ -e "$File" ]]; then

    FileLoad="${File/#$LocalDIR}"

    while true

      do

        if [[ "$FileLoad" == '/' ]]; then return; fi

        echo "$FileLoad" |grep -q '/';

        if [[ "$?" == "0" ]]; then

          FileLoad=$(dirname "$FileLoad");

        else

          break;

        fi;

      done;

    if [[ "$FileLoad" == "$LocalDIR" ]]; then return; fi

    EXEC="$(command -v mv)"

    if [[ -z "$EXEC" ]]; then return; fi

    Option=" -f";

    cd "$LocalDIR";

    if [[ -e "$FileLoad" ]]; then

      ItemSize=$(du -s "$FileLoad" |cut -f1 |grep -o '[0-9]*' |head -n1)

      if [[ -z "$ItemSize" ]]; then return; fi

      if [[ "$ItemSize" -le "$MinSize" ]]; then

        echo -ne "\033[33m$FileLoad \033[0mtoo small to spik.\n";

        return;

      fi

      if [[ "$ItemSize" -ge "$MaxSize" ]]; then

        echo -ne "\033[33m$FileLoad \033[0mtoo large to spik.\n";

        return;

      fi

      eval "${EXEC}${Option}" \'"${FileLoad}"\' "${RemoteDIR}";

      if [[ $? == '0' ]]; then

        rm -rf "$FileLoad";

      fi

    fi

  fi

  IFS=$IFS_BAK

}

LoadFile;

<———以上是腳本內(nèi)容———

使用:

/root目錄新建名為rcloneupload.sh的腳本并編輯為以上內(nèi)容,授權(quán)chmod +x rcloneupload.sh,然后再到Aria2配置文件中加上一行on-download-complete=/root/rcloneupload.sh即可,后面為腳本的路徑。最后重啟Aria2生效。

依照#后的描述自行根據(jù)實際配置進(jìn)行更改。


MaxSize="157286400" #不要大于這個值,目前Onedrive最大只支持15GB的單文件

RemoteDIR="/RATS/"; #Rclone配置示范中的掛載地址是/root/1drive/

LocalDIR="/download/"; #檢查自己Aria2的下載目錄


說明:

此腳本并非本人所著且沒有經(jīng)過驗證,使用相關(guān)的幫助以及原理可以訪問腳本作者關(guān)于此腳本的說明頁面:https://www.moerats.com/archives/482/

對原腳本作者和修改作者萌咖和萌鼠兩位大佬表示感謝。

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:網(wǎng)盤,下載

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會買 要知