Skip to content
此页的大纲

备份和恢复

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

提示

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

备份和恢复策略

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

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

    • 你自己创建的数据文件:在 "~/" 下的数据
    • 你使用的应用程序创建的数据文件:在 "/var/" 下的数据(除了 "/var/cache/","/var/run/" 和 "/var/tmp/")
    • 系统配置文件:在 "/etc/” 下的数据
    • 本地程序:在 "/usr/local/" 或 "/opt/" 下的数据
    • 系统安装信息:关键步骤 (分区,...) 的纯文本备忘录
    • 验证数据结果:通过实验性的恢复操作来预先验证
      • 用户进程的 Cron 工作,文件在 "/var/spool/cron/crontabs" 目录,并且重启 cron(8)。参见第 9.4.14 节 “定时任务安排”来获得关于 cron(8) 和 crontab(1) 的信息。
      • 用户进程的 Systemd 计时器工作:文件在 "~/.config/systemd/user" 目录。参见 systemd.timer(5) 和 systemd.service(5)。
      • 用户进程的自动启动工作:文件在 "~/.config/autostart" 目录。参见 Desktop Application Autostart Specification。
  2. 知道怎样去备份和恢复。

    • 安全的数据存储:保护其免于覆盖和系统故障
    • 经常备份:有计划的备份
    • 冗余备份:数据镜像
    • 傻瓜式操作:单个简单命令备份
  3. 评估涉及的风险和成本。

    • 数据丢失的风险
      • 数据至少是应该在不同的磁盘分区上,最好是在不同的磁盘和机器上,来承受文件系统发生的损坏。重要数据最好存储在一个只读文件系统上。[4]
    • 数据非法访问的风险
      • 敏感的身份数据,比如 "/etc/ssh/ssh_host__key", "~/.gnupg/", "~/.ssh/", "~/.local/share/keyrings/", "/etc/passwd", "/etc/shadow", "popularity-contest.conf", "/etc/ppp/pap-secrets", and "/etc/exim4/passwd.client" 应当使用加密备份。[5] (参见 第 9.9 节 “数据加密提示”。)
      • 即使在信任的系统上,也不能够硬编码系统登录密码或者加密密码到任何脚本里面。(参见 第 10.3.6 节 “密码密钥环”。)
  4. 数据丢失的方式及其可能性

    • 硬件(特别是硬盘)将会损坏
    • 文件系统可能会损坏,里面的数据可能被丢失
    • 对违规安全访问而言,远程存储系统不能够被信任
    • 弱的密码保护能够被轻松的破解
    • 文件权限系统可以被破解
  5. 备份所需的资源:人力,硬件,软件,…

    • 使用 cron 任务或者 systemd 计时器任务来自动化调度备份工作

小心

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

小心

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

实用备份套件

原子更新

原子更新是指在更新过程中,如果更新失败,系统能够自动回滚到更新前的状态。这样就能够保证系统的稳定性。

原子更新尚未全量提供,目前只提供了部分功能,后续会逐步完善。

TODO:https://github.com/linuxdeepin/deepin-upgrade-manager/tree/master/docs