「Linux 奏章 21」备份与恢复

「这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战」。

实体机无法做快照,如果系统出现异常或者数据损坏,后果严重,要重做系统,还会造成数据丢失。所以我们可以使用备份恢复技术。

Linux 备份和恢复有两种方式:

  • tar 打包:把需要的文件(或者分区)用 tar 打包就行,下次需要恢复时,再解压覆盖即可。
  • ⭐使用指令 dumpresotre

若 Linux 上没有 dumprestore 指令,需要先安装:

  • yum -y install dump
  • yum -y install resotre
  1. dump 备份

dump 支持分卷与增量备份(所谓增量备份是指备份上次备份后修改/增加过的文件,也称差异备份)

1.1 基本语法

dump [-cu] [-123456789] [-f <备份后文件名>] [-T <日期>] <分区>

dump [-wW]

参数说明:

  • -c:创建新的归档文件,并将由一个或多个文件参数所指定的内容写入归档文件的开头
  • -0123456789:备份层级,0 为最完整备份(备份所有文件);若指定 0 以上的层级,则备份至上一次备份以来修改或新增的文件,到 9 后再次轮替
  • -f <备份后文件名>:指定备份后的文件名
  • -j:调用 bzlib 库压缩备份文件,也就是将备份后的文件压缩成 bz2 格式,让文件更小
  • -T <日期>:指定开始备份的时间与日期
  • -u:备份完毕后,在 /etc/dumpdares 中记录备份的文件系统、层级、日期与时间等
  • -t:指定文件名,若该文件已存在备份文件,则列出名称
  • -W:显示需要备份的文件及其最后一次备份的层级、时间、日期
  • -w:与 -W 类似,但仅显示需要备份的文件

1.2 应用案例

  • ① 将 /boot 分区所有内容备份到 /opt/book.bak0.bz2 文件,备份层级为 “0”
    • dump -0uj -f /opt/boot.bak0.bz2 /boot
  • ② 修改文件,然后增量备份 /boot 分区
    • dump -1uj -f /opt/boot.bak1.bz2 /boot
  • ③ 显示最后一次备份的层级、时间…
    • dump -W
  • ④ 查看备份时间文件
    • cat /etc/dumpdates
  • 注:增量备份仅支持分区,如果备份文件/目录,不再支持增量备份,即只能使用 0 级别备份!
    • dump -0j -f /opt/etc.bak0.ba2 /etc/ : dump 备份 /etc 整个目录
    • dump -1j -f /opt/etc.bak1.ba2 /etc/ : dump 增量备份 /etc 目录会出错

dump + crontab: 无人值守备份!

  1. restore 恢复

restore 指令用来恢复已备份的文件,可以从 dump 生成的备份文件中恢复成原文件。

2.1 基本语法

  • restore [模式选项] [选项]
  • 四个模式选项(一次命令中只能指定一个参数
    • -C : 使用对比模式,将备份的文件与已存在的文件相互对比
      • restore -C -f /opt/boot.bak1.bz2 : 将 boot.bak1.bz2 备份文件与最新已存在的文件比较
    • -i : 使用交互模式,在进行还原操作时,restore 指令将依序询问用户
    • -r : 进行还原模式(操作)
      • restore -r -f /opt/boot.bak0.bz2 : 恢复到第1次完全备份状态
      • restore -r -f /opt/boot.bak1.bz2 : 恢复到第2次增量备份状态
    • -t : 查看模式,看备份文件有哪些
      • restore -t -f /opt/boot.bak0.bz : 查看 /opt/boot.bak0.bz2 有什么文件
  • 选项
    • -f <备份文件> : 从指定的文件中读取备份数据,进行还原操作

:有几个增量备份文件就恢复几个,按顺序恢复即可。

希望本文对你有所帮助🧠

欢迎在评论区留下你的看法🌊,我们一起讨论与分享🔥

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%