大家好,今天給大家介紹一款軟體它的名字叫做Rclone。什麼是Rclone呢?
概述
Rclone是一個指令行程式,用于管理雲存儲上的檔案。他打包了各大供應商雲存儲的接口提供統一的通路界面。rclone支援40多種雲存儲産品,包括對象存儲、企業和消費者檔案存儲、服務以及标準傳輸協定。Rclone符合unix POSIX規範,支援于常見的shell工具,比如rsync、cp、 mv、mount、ls、ncdu、tree、rm 和cat等互動,Rclone使用我們耳聞能熟的文法,支援shell管道,支援---dry-run保護,同時為了保護資料的可靠性,Rclone可保留時間戳和始終進行檔案驗證校驗和。Rclone多種檔案傳輸協定,支援SFTP,HTTP,WebDAV,FTP和DLNA。Rclone是一個成熟的開源軟體,最初受rsync的啟發并采用Golang編寫。其文檔和社群也都非常好,提供廣泛和友好的使用用例。
這裡我們使用Rclone主要用來操作對象存儲,可以用來上傳對象、拉取對象,并可實作對象存儲間的遷移。
安裝
Rclone 是一個 Go 程式,以單個二進制檔案的形式出現。
腳本安裝 要在 Linux/macOS/BSD 系統上安裝 rclone,請運作(確定能通路到rclone.org這個網址):
curl https://rclone.org/install.sh | sudo bash
對于 beta 安裝,運作:
curl https://rclone.org/install.sh | sudo bash -s beta
此腳本首先檢查安裝的 rclone 的版本,如果不需要,将不會重新下載下傳。
從預編譯的二進制檔案安裝 Linux 擷取并解包
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
複制二進制檔案
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
運作rclone config設定基本參數,根據指令提示輸入即可
rclone config
使用
配置 首先,需要配置 rclone,由于對象存儲系統具有相當複雜的身份驗證,是以它們儲存在配置檔案中,可以通過以下指令進行配置:
rclone config
基本按照指令提示輸入資訊即可
基本指令 通常文法是這樣的
Syntax: [options] subcommand <parameters> <parameters...>
子指令清單 rclone config - 進入互動式配置會話。
rclone copy - 将檔案從源複制到目标,跳過已經複制的。
rclone sync - 使源和目标相同,僅修改目标。
rclone bisync -兩條路徑之間的雙向同步。
rclone move - 将檔案從源移動到目标。
rclone delete - 删除路徑的内容。
rclone purge - 删除路徑及其所有内容。
rclone mkdir - 如果路徑不存在,則建立路徑。
rclone rmdir - 删除路徑。
rclone rmdirs - 删除路徑下的所有空目錄。
rclone check - 檢查源檔案和目标檔案是否比對。
rclone ls - 列出路徑中所有對象的大小和路徑。
rclone lsd - 列出路徑中的所有目錄/容器/存儲桶。
rclone lsl - 列出路徑中的所有對象及其大小、修改時間和路徑。
rclone size - 傳回 remote:path 中對象的總大小和數量。
rclone version - 顯示版本号。
rclone copyto - 将檔案從源複制到目标,跳過已經複制的。
rclone mount - 将遠端挂載為挂載點。
rclone moveto - 将檔案或目錄從源移動到目标。
以上東西都是從官方文檔中查找到東西也比較簡單,今天我主要是介紹之前在項目中用到的利用rclone 功能。那麼它是什麼功能呢?我們希望通過一個windows 平台将linux 平台中某個檔案夾作為windows平台盤符使用,也就是說把linux 平台的某個盤符挂在到windows上,這樣就可以直接操作linux 檔案進行操作了。下面介紹一下具體使用。
windows平台挂在linux 作為盤符使用
- 下載下傳windows rclone 下載下傳位址 https://rclone.org/downloads/
- 配置rclone.conf,這裡主要是需要挂載的遠端的sftp 機器相關資訊
-
[remotesftp]
type = sftp
host = 192.168.xx.xx
user = root
pass = yKRVM0vaewmCIWdkMkVYL1Rvq6Brom5D
shell_type = unix
md5sum_command = md5sum
sha1sum_command = sha1sum
- 安裝 WinFsp
- 官方有一段對話是關于windows 平台下需要安裝winfsp軟體
- 執行挂載指令如下
- rclone --config=E:\soft\rclone-v1.61.1-windows-amd64\rclone.conf mount remotesftp:/home/trivy X:
- remotesftp:/home/trivy 這個很好了解 遠端sftp 伺服器 的挂載的目錄 , X: 是需要挂載的盤符,挂載後的效果
CMD 指令視窗如上,表示挂載啟動了。
我們看到計算機中多了一個 X: 盤符,打開後可以看到裡面檔案
我們在 192.168.xx.xx對應的/home/trivy 檢查下檔案
檔案是能對應上的,這樣我們就實作了windows 挂載linux 檔案作為補充盤符使用了。
為了讓挂載背景執行,我們可以編寫一個vbs 背景執行 腳本如下
Dim ws
Set ws=CreateObject("WScript.Shell")
ws.run "rclone --config=E:\soft\rclone-v1.61.1-windows-amd64\rclone.conf mount remotesftp:/home/trivy X:",vbhide
将vbs腳本發送到桌面快捷方式,後面點選一下就可以實作挂載。
參考文檔:https://rclone.org/commands/rclone_mount/
github位址:https://github.com/rclone/rclone
總結
Rclone是一個功能強大且靈活的工具,适用于需要在多個雲存儲服務之間同步和備份資料的使用者。它易于使用,具有廣泛的雲存儲支援,并提供了許多進階功能和選項。下期我們在給大家介紹借助Rclone實作minio複制檔案到FTP。