一、Debian11 备份与还原须知
计算机有时会出现各种异常,包括硬件和软件问题,或由于人为错误导致,因此系统备份与还原非常重要。除非有更好的理由,否则不要备份诸如:/proc、/sys、/tmp、/run 等伪文件系统,因为它们一般是庞大且无用的。
1.1、备份还原对象
- 用户数据文件:在 ~/ 下的所有数据;
- 程序数据文件:在 /var/ 下的数据,其中 /var/cache、/var/run、/var/tmp 除外;
- 系统配置文件:在 /etc/ 下的数据;
- 验证数据结果:在 ~/.config/systemd/user 为用户进程计时器,在 ~/.config/autostart 为用户自启进程。
1.2、如何备份还原
- 安全数据存储:保护免于被覆盖或系统故障;
- 定期系统备份:有计划的进行备份;
- 冗余系统备份:对数据或系统镜像;
- 简易系统备份:使用简单命令进行备份。
1.3、评估风险成本
- 数据丢失的风险:数据至少存储在不同的硬盘和机器上,重要数据推荐只读;
- 数据的非法访问:敏感的身份数据,如:~/.ssh/* 等应当加密备份;
- 数据异常的原因:硬件损坏、文件系统损坏、不信任的远程存储、弱密码、过高的权限等;
- 备份所需资源:人力、硬件、软件、自动化和定时作业等。
二、系统备份和系统还原工具
对于 Debian11 系统而言,一般可以借助各种软件包提供的备份与还原功能,通过备份工具可以安全、简单、快速的实现系统备份和系统还原操作,每一个备份工具都各具特色,您可以按需选用。
2.1、工具列表
- dump:dump 和 restore 命令用于 ext2/ext3/ext4 文件系统;
- xfsdump:xfsdump 和 xfsrestore 命令用于 XFS 文件系统;
- backupninja:轻量的可扩展的 meta-backup 备份系统;
- bacula-common/bacula-client/bacula-console/bacula-server:网络数据备份;
- amanda-common/amanda-client/amanda-server:高级自动化网络归档器;
- backup-manager:Linux 命令行系统备份工具;
- backup2l:用于可挂载媒介的低维护的备份/恢复工具;
- backuppc:BackupPC 是用于系统备份的高性能的企业级工具;
- duplicity/flexbackup/rdiff-backup/restic/slbackup:远程增量备份。
2.2、工具说明
Mondo Rescue 是一个备份系统工具,它能够方便的从备份设备中快速恢复整个系统,而不需要经过常规的系统安装过程;Bacula,Amanda 和 BackupPC 是全功能的备份实用套件,主要用于联网的定期备份;restic 和 rdiff-backup 软件包能够增量备份;dump 软件包用于高效增量的归档和恢复整个文件系统。
三、系统备份和系统还原教程
对于很多系统管理员来说,只需保护好用户的关键数据即可。因为很多文件仅是系统运行升级或安全更新产生的,这些一般是程序缓存或伪文件系统,所以没理由备份整个系统。本 Debian11教程 示例将使用 dump 命令,dump 可以实现完整+增量备份、完整+差异备份,再配合作业 crontab 实现无人值守定期全自动备份。
3.1、安装方式
dump 操作可用来备份文件,而 restore 操作则是还原已备份的文件,两者指令刚好相反。
apt install dump //安装dump
3.2、命令介绍
dump 系统备份命令选项:
- -0123456789:备份的层级,0完全备份,1-9为增量备份;
- -b<区块大小>:指定区块的大小;
- -B<区块数目>:指定备份卷册的区块数目;
- -c:修改备份磁带预设的密度与容量;
- -d<密度>:设置磁带的密度;
- -f<设备名称>:指定备份后的文件名称;
- -h<层级>:当备份层级等于或大于指定的层级时,将不备份用户标示为 nodump 的文件;
- -n:当备份工作需要管理员介入时,向所有 operator 群组中的使用者发出通知;
- -s<磁带长度>:备份磁带的长度;
- -T<日期>:指定备份的时间;
- -u:备份后,在 /etc/dumpdates 中记录备份的文件系统、层级、时间等;
- -w:与 -W 类似,但仅显示备份的文件;
- -W:显示备份的文件、最后一次的层级和时间。
restore 系统还原命令选项:
- -b<区块大小>:设置区块大小;
- -c:不检查 dump 操作的备份格式,仅准许读取使用旧格式的备份文件;
- -C:使用对比模式,将备份的文件与现行的文件相互对比;
- -D<文件系统>:允许用户指定文件系统的名称;
- -f<备份文件>:从指定的文件中读取备份数据,进行还原操作;
- -h:仅解出目录而不包括与该目录相关的所有文件;
- -i:使用互动模式,在进行还原操作时,restore 指令将依序询问用户;
- -m:解开符合指定的inode编号的文件或目录而非采用文件名称指定;
- -r:进行系统还原操作;
- -R:全面还原文件系统时,检查应从何处开始进行;
- -s<文件编号>:当备份数据超过一卷磁带时,您可以指定备份文件的编号;
- -t:指定文件名称,若该文件已存在备份文件中,则列出它们的名称;
- -v:显示指令执行过程;
- -x:设置文件名称,且从指定的存储媒体里读入它们;
- -y:不询问任何问题,一律以同意回答并继续执行指令,
3.3、命令示例
完整备份示例:将 /home 所有内容备份到 /tmp/home.bak 文件中,备份层级为 0 并记录相关信息:
dump -0u -f /tmp/home.bak /home
增量备份示例:将 /home 所有内容备份到 /tmp/home.bak 文件中,备份层级为 1 并记录相关信息:
dump -1u -f /tmp/home.bak /home
完整还原示例:将 /tmp/home.bak 备份的文件还原到原来的目录中:
restore -r -f /tmp/home.bak
增量还原示例:将 /tmp/home*.bak 备份的文件还原到原来的目录中:
restore -r -f /tmp/home.bak //必须先完整还原备份
restore -r -f /tmp/home1.bak //然后再增量还原备份
restore -r -f /tmp/home2.bak //...
四、Debian11 备份与还原 总结
Debian11教程 - Debian11 备份与还原,主要引导用户快速理解Debian11 环境下系统备份与系统还原,从相关工具开始,逐步到命令示例等,通篇实用易懂,让入门变得更加快速和简单。
《Debian11教程》主打原创、全部免费,欢迎学习和转载,如需交流请加微信号:try8_cn。