在兩個 FTP 伺服器之間傳輸文件

在兩個 FTP 伺服器之間傳輸文件

我有兩個虛擬主機套件:一個套件 (A) 來自主機 A,一個套件 (B) 來自另一個主機 B(不同的網路)。我可以透過 FTP 將檔案從本機電腦傳輸到虛擬主機套件 A 和/或虛擬主機套件 B。

現在我想將資料夾和檔案從主機 A 直接傳輸到主機 B。我嘗試了 FXP,但主機 A 和主機 B 不允許(500 非法連接埠命令)。我無法更改設定以允許 FXP(這是一個普通的虛擬主機包,因此我沒有 SSH/root 存取權或類似的權限)。

我知道我可以使用本地電腦(私人電腦)上的 FTP 用戶端從主機 A 下載內容並手動將其重新上傳到主機 B,但這將花費很長時間(大數據 - 許多文件)。

我不認為有一種方法可以在沒有任何「幫助」的情況下直接將檔案從A傳輸到B,但我也有一個linux根伺服器C(來自主機C)。有沒有辦法用我的伺服器 C 傳輸檔案(腳本、程式、工作流程...)?就像透過FTP從套件A下載file1.txt到伺服器C,從伺服器C上傳到套件B,在伺服器C上刪除它,下載下一個檔案file2.txt等等?

答案1

使用curlftpfs在您的 Linux 伺服器上 C.

該程式curlftpfs是將遠端 ftp 主機掛載為本機目錄的工具。

這是一個保險絲基於解決方案,熟悉安全問題。您可以(並且應該)以普通用戶身份進行安裝。例子:

curlftpfs -r ftp.dd-wrt.com ~/mnt/foo/

將 A 和 B 安裝到不同的安裝點。然後使用任何工具複製/移動文件,就像處理本地文件一樣:cp -r,,mc等等。最終卸載。卸載命令範例:

fusermount -u ~/mnt/foo/

答案2

經過大量研究和反覆試驗後,我決定編寫自己的腳本來在兩個 FTP 伺服器之間A以及B透過根伺服器傳輸檔案C

其發表於GitHub 作為FTP 行動伺服器文件。它目前處於早期開發階段,但它有助於擺脫私人機器上正常描述的工作流程。

相關內容