
我有一堆伺服器,它們為各種不同的系統建立各種不同的程式。
一旦建置完成,它就會被歸檔到一個檔案中並被壓縮,然後md5sum
建立該檔案。一台伺服器可能會建置多個不同的版本,從而產生多個存檔檔案和 archive.md5 檔案。
最後,一個腳本在其他各種伺服器上運行,檢查md5sum
每個檔案的 s,將它們與本地md5sum
s 進行比較,如果不同,則下載並解壓縮更新的版本。
目前,md5sum
檢查是在比較每個建置的 md5 後進行的。scp [email protected] /path/to/builds/*.md5 .
腳本99%的運行時間都是這樣的scp
(儘管只需要幾秒鐘)。我希望盡可能優化資料傳輸。該請求來自列入白名單的伺服器(或者可以是,如果解決方案有自己的連接埠),而資料本身毫無意義,因此我不需要擔心身份驗證或加密。我相信,scp
當伺服器、版本和建置少得多時,我的前任出於方便而使用了它。
我對所有伺服器都有完全的 root 存取權限,所以我可以做任何我喜歡的事情。.md5
從遠端伺服器獲取資料最快的方法是什麼?它可以是文件本身,也可以是文件的內容(例如來自cat /path/to/builds/*.md5
)。
謝謝!
答案1
我想到的選項是:
- 透過 NFS 或 SMB (Samba) 匯出包含 MD5 檔案的目錄,並安裝到要進行比較的任何電腦上
- 運行一個小型網頁伺服器,例如 lighttpd,透過 HTTP 提供檔案服務
- 找出如何讓 SCP 更快 - 它不應該花費“幾秒鐘”,除非您有 DNS 問題,或者由於某種原因導致身份驗證緩慢
這些假設您是在本地網路而不是透過網路執行此操作,否則即使檔案“毫無意義”,也會存在額外的安全考慮。