File-Transfer
如何將文件從一台伺服器移動到另一台伺服器?
我在遠端 Web 伺服器上有大約 600MB,我想將其複製到 PC,然後復製到新伺服器。我嘗試了 FileZilla,但它在從舊伺服器傳輸的過程中失敗了,並且無法在不失去已完成內容的情況下恢復。有沒有更好的辦法?
感謝您的回复。為了澄清,這裡是問題的更多細節和我的最終結果。
兩台遠端伺服器都是 *nix 系統,具有 SSH 和 shell 訪問權限。我沒有考慮在沒有中間 PC 的情況下直接移動文件;我決定將其保留為流程的一部分,主要是為文件提供備份。中間的 PC 是 Windows,但我有大多數 Linux 實用程序作為 Cygwin 的一部分。
我決定複製到 Windows 有一個意想不到的好處 - 它告訴我文件結構的一些微妙細節,否則這些細節可能會被忽視。我使用以下內容生成了伺服器和 Windows PC 上所有文件的校驗和:
find . -type f -exec cksum {} \; | sort >sums.txt
我在 Windows 副本中發現了一些不匹配的地方。首先是兩個名稱相同的文件,但大小寫不同,這導致第二個文件覆蓋第一個文件。其次是軟連結,它被轉換為正常文件。
我認為我最初使用 Filezilla 的問題是由大寫/小寫重複引起的,這導致該文件中止。當我重新檢查傳輸狀態時,伺服器連接已失去,這解釋了我無法恢復的原因。
繼續使用 Filezilla。
- SSH 的 Rsync 也不是更好:Filezilla 能夠連接到 SSH 埠 22,從而在同一台機器上使用埠 20+21 連接到 FTP 服務。Filezilla 已經有能力通過其排隊和 SSL 功能來做到這一點。
- Filezilla 具有非常成熟的“恢復”功能,在正確配置時應該可以處理任何連接失去問題。
- 如果您想避免 FTPS 或 FTP 不可靠的雙埠/通道特性(這可能是您的問題),您可以在目標機器上的埠 22 上執行 CoreFTP 伺服器的“迷你”版本,並使用 WinSCP 或 CoreFTP 客戶端連接到它並通過單個埠進行傳輸。