Cronjob在外部USB硬盘上创buildUbuntu Server 12.04的磁盘映像

我有一个1TB的外置硬盘驱动器,想要定期拍摄整个服务器的快照(也许每周一次)。 对于cronjob部分,我打算指向一个bash脚本:

$ sudo crontab -e 

但不知道我可以用什么工具在服务器上运行时创build磁盘映像。 在创build图像时是否必须closures? 我正在看Clonezilla,但看起来我必须先build立一个DRBL服务器,这似乎是我不想要的东西。

我也不知道运行备份需要多长时间,或者有什么办法只做增量更改。 我计划在那里存储500GB的数据。

我需要以任何特定的方式格式化外部硬盘驱动器吗? 有谁知道很好的教程/出发点?

提前致谢。

您可以使用rsync来制作整个系统的副本。 它本身不是一个“图像”,但是它将包含系统上所有文件的副本。 例如,你可以这样做:

rsync -aHAXxv / / mnt / backup /

这会将根文件系统中的所有内容复制到/ mnt / backup中。 (注意,由于-x,它只复制一个文件系统,所以如果你有多个文件系统,你需要执行多个命令,或者省略-x和使用–exclude来排除备份path。

尝试fsarchiver http://www.fsarchiver.org/QuickStart它允许您从分区创build实时备份和multithreading图像压缩。 不幸的是增量备份在这方面有些困难。 也许在分区的dd映像上使用rsync? 考虑制作压缩的分区映像,可能还有一些文件夹的rsync / bacula增量备份。

考虑一下你的备份可能会更好一些 – 考虑到磁盘映像需要某种forms的欺骗,以免因系统运行而损坏 – 我可以想到的两种方式:

  • 某种forms的预装黑魔法,在启动时形成图像(听起来很困难),然后在重新启动时执行cron
  • 在某种虚拟机pipe理程序下运行服务器,并使用主机控制的快照

其他选项是备份你创build的数据和configuration,并保留“OS位”重新创build一个新的安装 – 也许你甚至可以脚本安装超快速灾难恢复。 它会为您节省许多备份空间 – 这意味着您可以更频繁地备份,并保留更长时间。

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

 rsync -aHAXxv / /mnt/backup/ 

这将创build一个备份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