Linux Client 同步 Omnistor 的方法
因為透過SFTP,所以Client(Local)端需要先取得SSH的Public Key,以CFS為例,需先透過SSH取得Public Key
ssh cft.twcc.ai
系統會詢問是否需要繼續連接,點選yes後可以將CFS的public key存下來本機
兩個方法如下:
方法 透過LFTP(一)
#上傳本機資料目錄下的檔案到伺服器端的/ENT2xxxxx_專案名稱/路徑
lftp -c "open -u 主機帳號 sftp://cfs.twcc.ai; mirror -c -R ~/本機資料目錄/ /ENT2xxxxx_專案名稱/"
#下載伺服器端/ENT2xxxxx_專案名稱/路徑下的檔案到本機資料目錄下
lftp -c "open -u 主機帳號 sftp://cfs.twcc.ai; mirror -c -L --use-pget-n=5 --parallel=M /ENT2xxxxx_專案名稱/ ~/本機資料目錄/"
上下傳的結果畫面如下
方法 透過rsync(二)
sshfs -o password_stdin 主機帳號@cfs.twcc.ai:/ /mnt/source <<< 'PASSWORD'
rsync -avA --delelete /mnt/source /mnt/target
必備的執行環境:
作業系統版本:CentOS-7 final version(方法(一)或(二)都必須滿足)
方法(二)安裝來自 epel-repository 的 binary (https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/f/fuse-sshfs-2.10-1.el7.x86_64.rpm)
方法(二)安裝來自 epel-repository 的 source (https://download-ib01.fedoraproject.org/pub/epel/7/SRPMS/Packages/f/fuse-sshfs-2.10-1.el7.src.rpm)
方法(二)對於不能接受安裝第三方軟件的用戶,可以選擇下載 source 重新編譯
方法(一)(二)的優劣比較如下:
指令參數簡潔度,方法(二)勝出。
一致性的同步(譬如:來源端有刪除的檔案目的端會殘留),方法(二)勝出。