Linux
通過 Internet 掛載文件系統
我為我的一個客戶建構了一個在虛擬伺服器上執行的 Web 應用程序。它包括讓他們上傳文件的功能,但他們現在希望將這些文件儲存在辦公室的伺服器上。
最簡單的方法是通過網際網路將他們的文件系統直接掛載到虛擬伺服器上。我有在內部網路上安裝 NFS 的經驗,但我不清楚它是否適用於這種情況。
有什麼想法嗎?我總是可以編寫新軟體來傳輸文件,但這很容易解決!
注意:辦公室的伺服器是執行在windows hyper-v環境下的虛擬伺服器上的Ubuntu 12伺服器。帶有網路應用程序的 VPS 是 Ubuntu 11.04
還沒有人提到sshfs。如果您使用的是現代 linux 發行版並且可以通過 ssh 訪問遠端主機,那麼它很簡單:
sshfs user@hostname:/remote/directory /local/directory
性能是完全可以接受的(但如果您需要整個目錄,則不如 rsync 之類的流式同步快)。
NFS 本質上是不安全的。通過網際網路連接將是一個非常糟糕的選擇。
我喜歡提到 rsync 的文章。我希望您可以簡單地從處理文件上傳的程式碼中執行 rsync 作業,而不是使用 cron 來觸發傳輸。
上傳完成後,將文件同步到他們的伺服器,完成。
我希望您需要建立與他們的伺服器的安全連接以進行傳輸。
如果您願意,您可以將傳入的文件放入傳輸列表中,在成功複製後刪除名稱,並為自己提供一些故障轉移功能,以防連接發生問題。
正如其他人已經指出的那樣, rsync 旨在處理文件組或層次結構(謝謝,拼寫檢查),因此這並不難實現。