undefined

Plexdrive是一個掛載Google Drive的工具
但只有Linux版本,掛載的時候跟rclone類似
但其賣點是:若是作為串流電影用的媒體櫃的話,緩衝效果聽說比較好
這是其官方網站: https://github.com/dweidenfeld/plexdrive

若要長期掛載的話,屬性最搭配的就是NAS了
剛好NAS也是Linux系統,所以自然就能裝了

老實說我對Linux不熟,試著找了許多教學文,找到一個最為詳細的教學文
甚至連影片都有,不過是韓文的,這部分可以適時搭配翻譯工具加減看

文章連結
https://www.clien.net/service/board/cm_nas/13516575



由於我自己也是搞了老半天,似懂非懂的
所以稱不上教學文,最多就當作我自己個人的筆記用途

以下開始零散的補充說明

Google Drive的憑證要事先準備好,可參考影片或自行Google

影片一開始需要安裝兩個套件:SynoCli Network Tools、文字編輯器都要安裝
過程中會需要執行腳本
比如說plexdrive-first.sh和plexdrive-mount.sh

這是我的腳本,跟教學文不同處主要是參數部分

plexdrive-first.sh

#!/bin/ash

# your mount folder path

MOUNT_PATH='/volume1/plex/gdrive'

PLEXDRIVE_PATH='/volume1/plex/.plexdrive'

chmod 755 $PLEXDRIVE_PATH/plexdrive-mount.sh

cd $PLEXDRIVE_PATH

$PLEXDRIVE_PATH/plexdrive mount --cache-file=$PLEXDRIVE_PATH/cache.bolt -c $PLEXDRIVE_PATH -o allow_other,allow_non_empty_mount $MOUNT_PATH --gid=1002 --uid=1002 --chunk-size=15M --max-chunks=15 --refresh-interval=1m -v 2 exit


plexdrive-mount.sh

#!/bin/ash

# your mount folder path

MOUNT_PATH='/volume1/plex/gdrive'

PLEXDRIVE_PATH='/volume1/plex/.plexdrive'

echo $TMP_PATH

#----------------------------

# unmount script

# run # /your_path/plexdrive.sh unmount

# ex) # /volume1/work/.plexdrive/plexdrive-mount.sh unmount

if [ $1 ] && [ $1 = "unmount" ]

then

echo '>> unmounting'

umount -l $MOUNT_PATH

fusermount -uz $MOUNT_PATH

exit

fi

#----------------------------

# crontab mount script

# run # /your_path/plexdrive.sh

# ex) # /volume1/work/.plexdrive/plexdrive-mount.sh

MOUNTTYPE=`cat /proc/mounts | grep $MOUNT_PATH | awk '{print $3}'`

echo $MOUNTTYPE

if [ $MOUNTTYPE ] && [ $MOUNTTYPE = "fuse" ]

then

echo '>> aleady mounted'

else

echo '>> mounting'

umount $MOUNT_PATH

fusermount -uz $MOUNT_PATH

cd $PLEXDRIVE_PATH

$PLEXDRIVE_PATH/plexdrive mount --cache-file=$PLEXDRIVE_PATH/cache.bolt -c $PLEXDRIVE_PATH -o allow_other,allow_non_empty_mount $MOUNT_PATH --chunk-size=15M --max-chunks=15 --refresh-interval=1m -v 2 &

echo '>> sleep 5..'

sleep 5

echo '>> ls'

ls $MOUNT_PATH

echo '>> end'

fi

exit

參數的部分很多人都不太一樣,可以google看看

紅字是路徑,這裡我跟韓文的教學文一樣
藍色的部分是參數,我多添加了這個
--cache-file=$PLEXDRIVE_PATH/cache.bolt

因為我把plexdrive的暫存檔cache.bolt的路徑改到這裡
看起來的資料夾架構會像是下圖:

undefined
cache.bolt好像是暫存檔
如果有什麼奇怪的問題想重新設定的話
把這幾個檔案刪掉
cache.bolt、config.json、token.json
然後重跑一次plexdrive-first.sh


腳本的內容有點長,很有可能腳本內容打錯字就出錯
另外我截圖一小部分原教學文的腳本
undefined
我把它貼上執行後有點問題
推測可能是我把反斜線都複製到NAS上的腳本了
另外參數的部分原文有斷行
我則是改成同一行,後來就正常了(參考我的腳本)

總之腳本這個內容要特別注意
也是整個過程中最容易出錯的地方

如果掛載過程中有什麼狀況的話
可以用這個指令卸載(fusermount -uz /路徑)
fusermount -uz /volume1/plex/gdrive
umount -l /volume1/plex/gdrive

下圖是我執行plexdrive-first.sh的指令最後的畫面
 Processed 31663 items / deleted 4953 items / updated 26710 items
這個數字會一直增加跳動,跟自己的Google Drive內的檔案有關係
別人分享給你的檔案或資料夾也算在內
我這帳號上沒有任何檔案,單純就是別的Google帳號分享過來的資料夾而已

無論是自己的檔案或是別人分享的檔案,如果檔案很多的話,這段數字跳動的過程會越久
我這帳號分享過來的資料夾內的電影總量約61T(檔案數約1萬9左右)
跑完大概要花兩個小時

undefined

跑完後會顯示First cache build process finished!
這時你在掛載的資料夾內才會出現Google Drive的內容

undefined

Linux有個指令screen
如果在做掛載的動作的話
跑plexdrive-first.sh或plexdrive-mount.sh建議在screen底下執行
而該韓國影音圖文教學則是打算透過Synology NAS內建的排程功能去執行腳本
所以沒有用screen

大致的筆記就這樣
我其實還是很多不太曉得
基本上有點誤打誤撞成功的
問我的話我也不清楚

若要找人問的話,找對Linux比較熟的人問會比較有解

 



以上算是找到的教學文中最簡易清楚的了
但更早之前也有篇同樣韓文的教學圖文
那個操作就難了點
大多都是用指令操作
底下我同樣補上更早之前所做的一些指令筆記(有些只是方便複製用)
沒什麼順序性,想到什麼補什麼
底下的內容跟分隔線上的內容不見得相同
不要搞混了


其他可參考的資訊連結

http://papa.2ss.kr/13
https://youtu.be/cuE_iUACd_o
https://reurl.cc/lKKkq

如果你本來就會Linux的話,部分操作可參考這個
https://cloudboxes.io/wiki/how-to/apps/set-up-plexdrive

 

chmod 777 plexdrive
/volume1/plex/.plexdrive/plexdrive-first.sh
/volume1/plex/.plexdrive/plexdrive-mount.sh

在Synology上掛載Plexdrive

前置作業:準備個Google Drive API的憑證
https://reurl.cc/kKWkL

大致參閱韓文的圖文教學(可在Chrome右鍵翻譯,但還是要保留一個原始韓文的對照,才不會弄錯意思)
https://reurl.cc/7zqE5
同時可參考這影片(操作不太一樣,但可以看一看)
https://youtu.be/MKbFMw3ZpME

我在Synology內的新增的共用資料夾,我是命名為「GoogleDrive」

特別注意的是,參考韓文圖文教學的操作中
到了這一步以後
ln -s plexdrive-linux-amd64 plexdrive
要記得特別把更改plexdrive權限(指令:chmod 777 plexdrvie)
youtube影片有這部分

大致上的路徑配置都是參考圖文教學的
所以到最後我掛載的指令是這樣:
/volume1/docker/.plexdrive/plexdrive mount -c /volume1/docker/.plexdrive -o allow_other,allow_non_empty_mount /volume1/GoogleDrive -v 2

/volume1/docker/.plexdrive/plexdrive mount /volume1/GoogleDrive -c /volume1/docker/.plexdrive -o allow_other,allow_non_empty_mount  -v 2


mkdir /volume1/docker/.plexdrive
cd /volume1/docker/.plexdrive
wget https://github.com/dweidenfeld/plexdrive/releases/download/5.0.0/plexdrive-linux-amd64
ln -s plexdrive-linux-amd64 plexdrive
chmod 777 plexdrive
/volume1/docker/.plexdrive/plexdrive mount -c /volume1/docker/.plexdrive -o allow_other,allow_non_empty_mount /volume1/GoogleDrive -v 2

rm -r /volume1/docker/.plexdrive


一些有機會用到的指令
如果掛載過程中有什麼狀況的話
可以用這個指令卸載(fusermount -uz /路徑)
fusermount -uz /volume1/GoogleDrive
umount -l /volume1/GoogleDrive

將憑證設定檔刪掉
rm /volume1/docker/.plexdrive/config.json
rm /volume1/docker/.plexdrive/token.json

將別地方的憑證設定檔複製過來
cp /volume1/NasDownload/config.json /volume1/docker/.plexdrive

命名某screen名稱
screen -S plexdrive

刪掉某screen
screen -X -S [session ID] quit

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ak77now 的頭像
    ak77now

    純粹筆記

    ak77now 發表在 痞客邦 留言(0) 人氣()