我是 Linux 新手,因此如果问题比较愚蠢,我深感抱歉。
我有一个 Debian lenny 网络服务器,配有 MySQL、dovecot、Postfix Apache、PHP5 等。
它运行在数据中心的服务器上,因此我无法物理访问该服务器。如果发生灾难,数据中心将安装一个全新的 Debian Lenny 并具有 SSH 根访问权限,仅此而已!
但是我可以对服务器进行“硬”重启,因为数据中心有一个可以执行此操作的特殊控制面板。
- 如何进行完整备份?
- 我如何进行增量备份以最大限度地减少带宽使用(我需要为带宽使用付费)?
- 我如何进行灾难恢复程序以便从备份中获取所有设置、包等?
答案1
鉴于您无法物理访问服务器,也没有任何明显的方法来指定如何配置恢复的服务器,我将寻求托管公司的帮助,以确定如何最好地备份您的服务器。
如果它们没有帮助,我将:
- 每晚运行
dpkg-get-selections >/var/backup/package_list
一次,获取机器上的软件包列表 - 转储 MySQL 或 PgSQL 数据库
- 使用 rdiff-backup 之类的工具将
/etc
、/var
、/home
以及任何其他已知包含用户修改数据的位置备份到远程位置(不包括/var/spool
、/var/tmp
、/var/state
以及任何数据库的实时位置) - 恢复就是将 package_list 复制回机器,运行 dpkg-set-selections,
apt-get dselect
然后将备份复制回原位。
答案2
您可以使用备份2l对于备份端,它会进行完整备份,然后进行增量备份,然后可以使用 rsync 进行远程传输。
答案3
我有完全相同的设置 - 一台主机上的专用服务器,运行良好,但如果发生灾难,我就会陷入困境,因为没有备份。我可以花钱买备份,但我的预算有限,而且我的数据不是关键任务数据。
我在本地有另一台 Debian 服务器,它运行 rsnapshot,这是一个 perl 脚本,它使用 rsync 进行增量备份并将未更改的文件硬链接到其原始位置。有一个教程在这里了解如何设置这一切。我在服务器上拥有的最重要的数据在我的 MySQL 数据库中,因此我使用 rsnapshot 备份它们,并运行类似于教程中的脚本,该脚本对数据库进行 mysqldump 并将其备份,以防万一。
正如 womble 所建议的,我还运行 dpkg-get-selections > /var/backup/debpkgs,因为如果确实发生了什么事情并且主机重新安装了 debian,我将上传我的 /etc/apt/sources.list,重新安装我需要的软件包,然后恢复自定义脚本、数据和一些配置文件(而不是尝试用备份副本替换服务器)。
答案4
首先,询问您的 ISP 是否提供备份服务(需额外付费)。如果没有,请查看云备份服务并遵循其建议。
您可以设置 Amanda 来执行您想要的操作,但您需要本地存储,然后您将自己回答所有这些问题并自己配置一切。
对于灾难恢复,请查找“裸机恢复”。有多种方法,例如恢复启动盘映像、重新安装操作系统然后安装备份/恢复工具,或者使用备份供应商的启动恢复盘。