重启后使用 dd 进行备份

重启后使用 dd 进行备份

我正在尝试为我们的本地 Linux 服务器实现易于维护的备份解决方案。目标是能够从映像文件恢复整个系统。

我想做的就是使用 cron 发出以下脚本

FILENAME=`date +%F`.bak
dd if=/dev/sda | bzip > /media/remote_backups/$FILENAME

问题是这个脚本应该在特殊环境中运行 - 当只有基本服务工作并且没有挂载文件系统时。

因此,问题是:是否可以通过 cron 重新启动服务器,例如每周重新启动一次,然后不启动正常模式,而是启动某种“特殊”模式,此时不加载任何内容,但以下情况除外:

  1. 在 /media/remote_backups/ 挂载用于备份的远程分区
  2. 按照前面描述的方式执行 dd

答案1

dd 确实不是最好的解决方案。你应该研究一下同步如果你想要“快速备份”。否则,请查看类似巴库拉进行功能更全面的备份。

使用 rsync,您将拥有文件备份。如果完全失败,您需要重新安装 Linux,然后从远程位置复制 rsync 的文件。

使用 bacula,它可以对系统进行完整的裸机备份,以便您可以恢复整个系统操作系统和所有用户文件。

本文请参阅使用 Bacula 进行裸机恢复的全面文档。

答案2

唯一易于维护的备份解决方案是正确实施的解决方案。

花些时间正确实施 bacula 或 amanda,您将避免彻底的灾难。

您在上面完成的唯一一件事就是防止驱动器发生故障。有很多更好的方法可以做到这一点 - 例如镜像驱动器。

答案3

简单的答案 - 您可以通过组合一些工具并在某些特殊运行级别(或 init= 内核启动参数)启动系统来执行您想要的操作,grub-reboot - set the default boot entry for GRUB, for the next boot only其中自定义脚本执行 dd 命令。不要那样做!

请考虑以下工具:

 dump - ext2/3/4 filesystem backup
 xfsdump - XFS filesystem incremental dump utility

因为它们可以在已安装的文件系统上工作,或者至少使用 partimage 而不是 dd。

partimage - back up and restore disk partitions

仅使用过的块被复制并存储到映像文件中。您可以通过网络复制数据(使用 SSL),并且它还有更多功能。

相关内容