如何备份服务器?


9

我正在使用Ubuntu 12.04 Server。我是Ubuntu的新手,我想创建完整操作系统的备份并将其还原到另一个系统或同一系统。

您能否解释逐步进行备份和还原的过程?

Answers:


7

映像类型备份有几个问题:

  1. 他们无法进行每日/增量备份
  2. 它们中的大多数不能提取单个文件或您意识到已删除/覆盖的文件集
  3. 即使有足够的可用空间,它们也无法还原到小于原始磁盘的磁盘
  4. 还原到更大的磁盘通常需要采取额外的步骤来利用额外的空间

最好坚持使用久经考验的真实方法: tardump。我使用dump它是因为它比tar备份和提取单个文件快得多,并且可以更好地处理增量备份。它还使用多线程压缩,这在当今的多核计算机上非常有用。无论哪种方式,进行备份时,都需要关闭服务以确保在进行备份时不会写入任何文件。如果使用LVM,则只需做足够长的时间即可创建快照,然后可以使服务恢复联机状态并备份快照。这是我cron每晚自动运行的脚本:

#!/bin/bash
set -e
declare -a LEVELMAP=(1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5 1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5)
DATE=`date +%-d`
LEVEL=${LEVELMAP[$DATE-1]}
echo Performing a level $LEVEL dump
#shutdown services here
sync
lvcreate -s -n snap devserv/root -L 500m
#start them back up here
dump -$LEVEL -quz9 -b 1024 -f /backup/dump.$LEVEL /dev/mapper/devserv-snap
lvremove -f devserv/snap

升级服务器时,通常每隔约6个月进行一次0级(完整)转储,然后此脚本在每月的1号和17号进行1级转储(自0级以来更改的所有文件),并在2级之间轮换其余的时间为-5。

这意味着要还原系统,我最多要还原5个转储,有时要少一些(如果服务器在1级转储后就死了,那么您只需要还原0级和1级),而我又有几个转储可以恢复在过去的几天,几周,几个月的时间里,如果需要的话,我可以将旧文件从中取出,因为它在不同时间点可能有多个版本。

如果您不希望有多个要返回的位置并取出较旧的文件,则更简单的选择是每6个月执行一次0级,每周一次执行1级,并在一周中的其他每天执行2级。


您是否必须挂载快照?
Louis Waweru

1
@Louis,对dump吗?没有; dump希望从未挂载或只读挂载的文件系统中读取。它比挂载和通过内核读取文件更快地解析文件系统并从中备份数据。
psusi

0

您可以使用诸如Clonezilla之类的程序看起来像Acronis,Windows的真实映像 http://clonezilla.org/ 可以在此处找到有关clonezilla的教程


0

您也可以查看重做备份。它还可以制作出完整的图像,例如CloneZilla。我更喜欢它,因为它在方法上更快,更用户友好。您可以在这里找到有关它的信息:http : //redobackup.org/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.