我正在尝试为我们的本地 Linux 服务器实现易于维护的备份解决方案。目标是能够从映像文件恢复整个系统。
我想做的就是使用 cron 发出以下脚本
FILENAME=`date +%F`.bak
dd if=/dev/sda | bzip > /media/remote_backups/$FILENAME
问题是这个脚本应该在特殊环境中运行 - 当只有基本服务工作并且没有挂载文件系统时。
因此,问题是:是否可以通过 cron 重新启动服务器,例如每周重新启动一次,然后不启动正常模式,而是启动某种“特殊”模式,此时不加载任何内容,但以下情况除外:
- 在 /media/remote_backups/ 挂载用于备份的远程分区
- 按照前面描述的方式执行 dd
答案1
答案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),并且它还有更多功能。