備份 VPS 最簡單的方法

備份 VPS 最簡單的方法

我的情況:

我有 VPS(ubuntu),上面有 2 個網站。由於我是 VPS 的新手(最近我已經從共享主機轉移),我花了近 2 週的時間學習如何配置我的 VPS 以按照我想要的方式運行所有網路。我在配置 VPS 時犯了很多錯誤,所以我透過重新安裝/配置/錯誤/重新安裝/配置等來學習它。

現在一切都很好,VPS 正在運行,我需要的所有服務也都可以工作,吸取了很多教訓 - 一切都好。

問題:

  1. 進行整個 VPS 備份的最簡單方法是什麼?

  2. 我可以僅使用 WinSCP 進行 VPS 備份嗎?我的意思是連接到根 (/) 資料夾並從那裡下載所有 VPS 檔案?

  3. 如果是的話,如果需要從頭開始重新安裝整個 VPS,我該如何恢復它?

關於我的情況的附加資訊:

  • 資料庫將手動備份(可透過 phpmyadmin)
  • 我的 VPS 管理面板(SolusVM) 中沒有備份工具
  • 我沒有使用任何 GUI cpanel/directadmin/virtualmin 等,只是控制台

答案1

我備份遠端虛擬伺服器的首選方法是簡單地複製檔案 - 核心無論如何都在主機上。當然,恢復時您必須小心,並且可能無法進行完整恢復(與磁碟映像不同)。另一方面,遷移到另一台伺服器(例如本地伺服器)進行測試更容易。

現在,由於大量開銷,透過遠端連線下載大量小檔案實際上非常慢。如果您距離伺服器較遠,這一點就更重要。通常,我更喜歡將所有內容捆綁到一個tar存檔中,然後將其壓縮為較小的大小。

其命令是tar cpzf filename.tar.gz /(其中/表示遞歸地備份根目錄中的所有內容)。你可能希望排除現有備份文件- 如果您打算保留大量備份,則將它們全部放在一個目錄中並排除該目錄會更容易。然後您只需使用您喜歡的任何方法下載該文件即可。

tar xpf filename.tar恢復將在根目錄中使用命令進行。你也可以指定目標目錄-C

答案2

我已經回答了一個相同的問題關於伺服器故障,雖然它涵蓋了與鮑伯的答案相同的一些內容,但我使用的工具略有不同,關注點也略有不同。我建議建立一個包列表,並使用 rsync (因為它可以維護權限,並且在文件傳輸方面非常有效)。

如果一切都失敗了,還有一個老式的方法 - 使用 dpkg --get-selections 轉儲已安裝的軟體包列表,然後使用 dpkg --set-selections 安裝它們。如有必要,建立與來源系統相同的使用者 - cat /etc/passwd 應列出它們,您可以使用 diff 檢查這兩個清單是否相同。

然後使用 rsync 複製 /etc/ 資料夾以進行設定、為使用者複製各種 /home/ 資料夾(並在此處檢查權限)以及其他資料夾(例如 /var/www/)。測試,確保一切都在那裡,然後就完成了。比設定新伺服器花費的時間更少。

有時,古老、簡單的方法是最好的。如果您手動解決此問題,只需編寫腳本來自動從目前伺服器複製此操作。

答案3

使用 rsync 輕鬆進行增量備份。您可以透過命令列或編寫更複雜的場景來完成此操作。

您可以從以下範例開始:

$ options="--stats -aHh --delete"; echo == RUNNING with options: $options; time rsync -e ssh $options root@your-server-ip-or-hostname:/ /destination/my-server-backup --exclude /proc --exclude /dev --exclude /sys --exclude /run/udev

你可以在我整理的腳本中找到更多範例,雖然最初是針對Windows的,但它可以直接套用在Linux:https://github.com/paravz/windows-rsync-backup

相關內容