如何將文件從一台 Ubuntu 伺服器複製到另一台?(用於網站遷移的 MYSQL 數據庫)
我對 Ubuntu 很陌生,我的第一個任務是將一個帶有 MySQL 數據庫的網站複製到另一台伺服器。兩台伺服器都是虛擬機並且在相同的環境中。我有 IP 地址和登錄憑據。
當然,我可以從我的 Windows 電腦遠端登錄到兩台機器(舊伺服器有 Ubuntu 10.10,新伺服器有 Ubuntu 12.04)。
現在我需要知道我是否可以直接從一台 Ubuntu 伺服器複製到另一台伺服器,或者先複製到我的電腦,然後再复製到另一台 Ubuntu 伺服器。
或者可能有很多解決方案?
您可以為此使用 rsync,
例如,
我們假設您對兩台伺服器都有 ssh 訪問權限,old.com 是舊的,兩台伺服器上的 uname 相同,要複製的文件樹是 /var/somedir 登錄到新伺服器,
rsync -av user@old.com:/var/somedir/*/var/somedir/
它將登錄 old.com 並提示進行身份驗證,然後建構文件列表並將內容複製到目前伺服器上的目標。
我希望你明白這一點…
謝謝
首先,不要簡單地走進魔多,我的意思是複制數據庫。您需要正確執行此操作。您需要確保沒有正在進行的寫入,然後確保以 ACID 方式複制所有內容。您可以關閉數據庫,移動它,然後意識到事情發生了可怕的錯誤,因為它們是不同的版本……
幸運的是,mysql 附帶了一個名為mysqldump的工具來執行此操作- 並且有一個關於 SO 使用它的問題,有很多語法範例 - 它應該類似於
mysql -u<user> -p < db_backup.dump
. 我還建議檢查版本,因為您可能需要在版本之間執行升級腳本。移動 DUMP 文件,不要複製數據庫。執行轉儲,執行升級腳本,測試。如您所知,Mysql 上有很好的資源,因此請仔細閱讀並確保您知道自己在做什麼。如果您使用的是 postgres,還有pg_dump(它的語法非常優雅)。它的文件級備份文件在任何地方都是正確的——因為關閉伺服器是在備份時不進行寫入的最可靠方法,這會破壞一致性。
在有很多方法的情況下移動轉儲文件SFTP可能是速度和安全性的理想組合。您可以使用pscp將文件傳輸到電腦或將它們下載到 Windows 系統,然後使用cyberduck 重新上傳。由於您已經擁有 SSH,因此這應該是最簡單的方法。
Web 伺服器配置和文件(IE,/etc/ 和 /var/www 的有效內容)應該可以複製,因為它們不會經常更改。