10.2. 备份和恢复

我们都熟知计算机有时会出问题,或者由于人为的错误导致系统和数据损坏。备份和恢复操作是成功的系统管理中非常重要的一部分。可能有一天你的电脑就会出问题。

[提示]提示

保持你的备份系统简洁并且经常备份你的系统,有备份数据比你采用的备份方法的技术先进要重要的多。

有3个关键的因素决定实际的备份和恢复策略。

  1. 知道要备份和恢复什么。

    • 你自己创建的数据文件:在 “~/“ 下的数据

    • 你使用的应用程序创建的数据文件:在 “/var/“ 下的数据(除了 “/var/cache/“,”/var/run/“ 和 “/var/tmp/“)

    • 系统配置文件:在 “/etc/” 下的数据

    • 本地软件:在 “/usr/local/“ 或 “/opt/“ 下的数据

    • 系统安装信息:关键步骤 (分区,…) 的纯文本备忘录

    • 验证数据结果:通过实验性的恢复操作来预先验证

  2. 知道怎样去备份和恢复。

    • 安全的数据存储:保护其免于覆盖和系统故障

    • 经常备份:有计划的备份

    • 冗余备份:数据镜像

    • 傻瓜式操作:单个简单命令备份

  3. 评估涉及的风险和成本。

    • 评估数据丢失的损失

    • 备份所需的资源:人力,硬件,软件,…

    • 数据丢失的方式及其可能性

[注意]注意

除非你知道自己做的是什么,否则不要备份 /proc, /sys, /tmp, 和 /run 目录下的伪文件系统(参见 第 1.2.12 节 “procfs 和 sysfs”第 1.2.13 节 “tmpfs”)。它们是庞大且无用的数据。

至于安全的数据存储,数据至少是应该在不同的磁盘分区上最好是在不同的磁盘和机器上,来承受文件系统发生的损坏。重要的数据最好存储在只能写一次的媒介上例如 CD/DVD-R 来防止覆盖事故。(参见 第 9.7 节 “二进制数据” 怎样在 shell 命令行写入存储媒介。GNOME 桌面图形环境可以让你轻松的通过菜单:“位置 → CD/DVD 刻录”来实现写入操作。)

[注意]注意

当备份数据的时候,你可能希望停止一些应用程序的守护进程例如 MTA(参见第 6.3 节 “邮件传输代理 (MTA)”)。

[注意]注意

你应该格外小心地备份和恢复身份认证相关的数据文件例如 “/etc/ssh/ssh_host_dsa_key“, “/etc/ssh/ssh_host_rsa_key“, “~/.gnupg/“, “~/.ssh/“, /etc/passwd“, “/etc/shadow“, “/etc/fetchmailrc“, “popularity-contest.conf“, “/etc/ppp/pap-secrets“ 和 “/etc/exim4/passwd.client/“。 这些数据中的有一些文件是不能通过向系统输入同样的字符串来再生的。

[注意]注意

如果你以用户进程的方式执行 cron job,你必须存储文件到 “/var/spool/cron/crontabs“ 目录并且重启 cron(8)。参见第 9.3.14 节 “定时任务安排”来获得关于 cron(8) 和 crontab(1) 的信息。