
背景 在設定伺服器方面,我仍然認為自己有點菜鳥。因此,在回答這個問題時,請盡可能詳細地回答。
環境 我在 Raspberry Pi 4 上運行 LEMP 伺服器,它是一個功能完美的電子郵件伺服器以及一個功能齊全的 Web 伺服器。
問題 因為我還是菜鳥,所以很容易犯錯。因此,過去和將來都會有這樣的情況:我不小心錯誤配置了某件事或多件事,而沒有意識到(或記住)我到底錯誤配置了什麼或如何修復它。因此,我正在為 Raspberry Pi(arm)上的 Ubuntu 伺服器尋找合適的本地備份解決方案。以下是我的備份解決方案需要包含的具體內容...
所需的解決方案 在這些情況下,似乎最需要有 2 個備份磁碟機來為兩種不同類型的資料提供兩個備份磁碟機。自動備份解決方案:
增量備份- 第一個備份驅動器,理想情況下需要完全像命令列一樣工作Mac 作業系統上的時間機器。唯一的區別是它會為所有檔案(包括根目錄)建立增量備份,而不是像 Mac OS Time machine 那樣僅為使用者目錄建立增量備份。這將確保我的所有伺服器應用程式(PHP、Nginx、Postfix、Wordpress 等)和安裝在 root、/var、/etc 和其他重要 root 使用者目錄下的設定都會備份和還原到更早的日期。另一個要求是備份工具可保持適當的確切權限,並具有完全恢復的簡單方法較早日期到伺服器的所有檔案。
克隆備份- 第二個驅動器應該有一個命令列備份解決方案,其功能類似於 MacOS 上名為ApplePi-Baker它創建 Linux 驅動器的克隆,首先用額外空間縮小所有分區,然後創建“.iso”格式的克隆,該克隆可以直接 DD 到 USB 驅動器並啟動到 linux,作為該驅動器的精確副本原始驅動器。在我的 Ubuntu 伺服器上,我希望有一個具有類似功能的解決方案。除此之外,我需要能夠克隆正在運行的伺服器的磁碟機的解決方案。理想情況下,我希望使用第二個磁碟機來建立原始伺服器的本機精確複製(以 ISO 格式),這樣,如果除了從增量備份還原之外出現任何嚴重錯誤,我可以將 ISO 映像直接寫入到一個新的驅動器,然後啟動,以便輕鬆回歸到再次完美工作的伺服器。同樣,我需要這些克隆的格式為“.ISO”格式作為正確的磁碟映像,並縮小每個分割區中的所有額外空間以消除可用空間,從而使複製的 ISO 檔案盡可能小。
問題
- 任何人都可以推薦一個可以作為 cron 作業運行的工具或命令來完成上述兩個所需的解決方案嗎?
- 此外,您能否推薦任何其他合適的解決方案來完全備份 Ubuntu 20.04 LEMP 伺服器,以防發生嚴重災難或管理設定錯誤?
感謝您在這裡的任何幫助和建議。我非常找不到合適的 Linux 解決方案!
答案1
我找到了一個特定於 Raspberry Pi 的解決方案,但也可能適用於任何作業系統,因為該解決方案涉及 bash 腳本來完成正在運行的 ubuntu 系統的完整 ISO 備份。如果您想要 Raspberry Pi 的完整備份解決方案,您可以按照我的教學進行操作:https://danran.rocks/2022/09/how-to-make-a-live-backup-of-your-raspberry-pi-ubuntu-raspberry-pi-os-server-to-create-live-bootable-外部磁碟機上的iso 映像/
簡而言之,轉到https://forums.raspberrypi.com/viewtopic.php?t=332000image-utils.zip
並從論壇下載檔案。它們包含 bash 腳本,您可以將其放入其中/usr/local/bin/
並使用 sudo 用戶 crontab 自動運行它們。當將正在運行的 raspberry pi 4 和 ubuntu 20.04 伺服器備份到外部磁碟時,這些功能非常有效。他們為您正在運行的 ubuntu 系統建立一個完全可啟動的 ISO 文件,並將其儲存到硬碟上。如果發生災難,您可以使用 etcher 將已儲存的 ISO 燒錄到磁碟,然後啟動到伺服器復原狀態。
我懷疑它們在非樹莓派(非 ARM)設備上可以正常工作,因為它們只是腳本。我認為架構並不重要。
編輯:這些很可能不適用於非樹莓派設備,因為它們考慮了樹莓派作業系統和 Ubuntu 伺服器使用的自訂啟動分割區。此分割區是主開機記錄,與 uefi 不相容,在 x86 系統上使用這些腳本時可能會導致問題。最糟糕的情況是,您可以嘗試修改腳本中的程式碼以將其自身調整為 EFI 分割區,而不是引導分割區的 MBR 分割區。