Cronjob 在外部 USB 硬碟上建立 Ubuntu Server 12.04 的磁碟映像

Cronjob 在外部 USB 硬碟上建立 Ubuntu Server 12.04 的磁碟映像

我有一個 1TB 外部硬碟,希望定期(也許每週一次)拍攝整個伺服器的快照。對於 cronjob 部分,我計劃指向以下位置的 bash 腳本:

$ sudo crontab -e

但不知道我可以使用什麼工具在伺服器運行時製作伺服器的磁碟映像。創建映像時是否必須將其關閉?我正在查看 Clonezilla,但看起來我必須先設定一個 DRBL 伺服器,這似乎是我不想要的。

我也不知道運行備份可能需要多長時間,或者是否有任何方法可以只進行增量更改。我計劃在那裡儲存 ~500GB 的資料。

我需要以任何特定方式格式化外部硬碟嗎?有誰知道好的教學/起點?

提前致謝。

答案1

您可以使用 rsync 來製作整個系統的副本。它本身不是“映像”,但它將包含系統上所有檔案的副本。例如,您可以這樣做:

rsync -aHAXxv / /mnt/備份/

這會將根檔案系統中的所有內容複製到 /mnt/backup。 (請注意,由於 -x,它僅複製一個檔案系統,因此如果您有多個檔案系統,則需要執行多個命令,或者省略 -x 並使用 --exclude 來排除備份路徑。)

答案2

試試 fsarchiverhttp://www.fsarchiver.org/QuickStart 它允許您從分區創建即時備份以及多線程圖像壓縮。不幸的是增量備份有點困難。也許在分割區的 dd 映像上使用 rsync?考慮製作壓縮分區映像,以及某些資料夾的 rsync/bacula 增量備份。

答案3

最好考慮您要備份的內容 - 獲取磁碟映像需要某種形式的欺騙,以免由於運行的系統而損壞它 - 我可以想到兩種方法:

  • 某種預先安裝的黑魔法,可以在啟動時產生映像(聽起來很困難),然後在重新啟動時執行 cron
  • 在某種虛擬機器管理程式下執行伺服器並使用由主機控制的快照

其他選項是備份您創建的資料和配置,並保留「作業系統位元」以透過新安裝重新建立 - 也許您甚至可以為超快速災難復原編寫安裝腳本。它還將為您節省大量備份空間 - 這意味著您可以更頻繁地備份,並保留更長時間。

答案4

正如@yesterday 所提到的,你可以像這樣使用 rsync:

rsync -aHAXxv / /mnt/backup/

這將建立備份 auf /,但不會建立其他已安裝分割區的備份,例如,/var 因此您應該為需要備份的每個分割區執行此操作。

但為了確保您擁有一致的備份,您應該使用 LVM 快照(如果可用)。例如:

# create snapshots
lvcreate -s vg0/root -n root_snapshot -L2G
lvcreate -s vg0/var  -n var_snapshot  -L2G
# mount snapshots to make a copy
mount /dev/vg0/root_snapshot /mnt/snapshot
mount /dev/vg0/var_snapshot  /mnt/snapshot/var
# backup all files (no need for -x here)
rsync -aHAXv /mnt/snapshot/  /mnt/backup/
# unmount the snapshots
umount /mnt/snapshot/var /mnt/snapshot
# remove the snapshots
lvremove vg0/root_snapshot
lvremove vg0/var_snapshot

相關內容