EmmmuaCode EmmmuaCode
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)

wufan

海内存知己,天涯若比邻。
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
    • JVM虚拟机
    • JUC并发编程
  • JavaWeb

    • Servlet
    • MVC
    • filter|listener
  • HTML
  • CSS
  • JavaScript
  • Vue
  • uni-app
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python基础
  • 数据分析
  • Hadoop
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
    • ShardingSphere
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
Github (opens new window)
  • Linux

    • Linux基础篇
    • Linux 目录结构
    • Linux 远程登录到Linux服务器
    • Linux Vi和Vim编辑器
    • Linux 虚拟机关机、重启和用户登录注销
    • Linux 用户管理
    • Linux 实用指令
    • Linux 组管理和权限管理
    • Linux 定时任务调度
    • Linux 磁盘分区、挂载
    • Linux 网络配置
    • Linux 进程管理
    • Linux RPM与YUM
    • Linux 搭建JavaEE环境
    • Linux Shell编程
    • Linux Python开发平台Ubuntu
    • Python定制篇-APT软件管理和远程登录
    • Linux 日志管理
    • Linux 定制自己的Linux
    • Linux 源码介绍&内核升级
    • Linux 备份与恢复
      • 基本介绍
      • 安装dump和restore
      • 使用dump完成备份
        • 基本介绍
        • dump语法说明
        • dump 应用实例1
        • dump 应用实例2
        • dump -W
        • 查看备份时间文件
        • dump备份文件或者目录
        • 提醒
      • 使用restore完成恢复
        • 基本介绍
        • restore基本语法
        • 应用案例1
        • 应用案例2
        • 应用案例3
        • 应用案例4
    • Linux 可视化管理-webmin和bt运维工具
  • Docker

    • Docker 简介
    • Docker 安装
    • Docker 常用命令
    • Docker 镜像原理
    • 本地镜像发布到阿里云
    • 将本地镜像推送到私有库
    • Docker 数据卷
    • Docker 软件安装
  • Maven

    • Maven 简介
    • Maven 基础
    • Maven 高级
  • Git 基础

    • Git 概述
    • Git 安装
    • Git 常用命令
    • Git 分支操作
    • Git 团队协作机制
    • IDEA 集成Git
    • IDEA 集成 GitHub
    • 自建代码托管平台-GitLab
  • studynotes
  • project-management
  • Linux
wufan
2021-12-20
目录

Linux 备份与恢复

# Linux 备份与恢复

# 基本介绍

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

linux的备份和恢复很简单,有两种方式:

  1. 把需要的文件(或者分区)用TAR打包就行,下次需要恢复的时候,再解压开覆盖即可
  2. 使用dump和restore命令
  3. 示意图

01

# 安装dump和restore

如果linux.上没有dump和restore指令,需要先按照

yum -y install dump

yum -y install restore

# 使用dump完成备份

# 基本介绍

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

# dump语法说明

dump [ -cu] [-123456789] [-f<备份后文件名>] [-T<日期>] [ 目录或文件系统] dump []-wW

-c:创建新的归档文件,并将由-一个或多个文件参数所指定的内容写入归档文件的开头。

-0123456789:备份的层级。0为最完整备份,会备份所有文件。若指定0以上的层级,则备份至上一次备份以来修改或新增的文件,到9后,可以再次轮替.

-f<备份后文件名>:指定备份后文件名

-j:调用bzlib 库压缩备份文件,也就是将备份后的文件压缩成bz2格式,让文件更小

-T<日期>:指定开始备份的时间与日期

-u:备份完毕后,在**/etc/dumpdares** 中记录备份的文件系统,层级,日期与时间等。

-t:指定文件名,若该文件已存在备份文件中,则列出名称

-W:显示需要备份的文件及其最后- .次备份的层级,时间,日期。

-w:与-W类似,但仅显示需要备份的文件。

# dump 应用实例1

将/boot分区所有内容备份到/opt/boot.bak0.bz2文件中,备份层级为“0”

dump -0uj -f /optboot.bak0.bz2 /boot

# dump 应用实例2

在/boot目录下增加新文件,备份层级为“1” (只备份上次使用层次“0”备份后发生过改变的数据),注意比较看看这次生成的备份文件bootl.bak 有多大

dump -1uj -f /opt/boot.bak1.bz2 /boot

提醒:通过dump命令在配合crontab 可以实现无人值守备份

# dump -W

显示需要备份的文件及其最后一次备份的层级,时间,日期

02

# 查看备份时间文件

cat /etc/dumpdates

03

# dump备份文件或者目录

前面我们在备份分区时,是可以支持增量备份的,如果备份文件或者目录,不再支持增量备份,即只能使用0级别备份

案例,使用 dump备份/etc 整个目录

dump -0j -f /opt/etc.bak.bz2 /etc/

#下面这条语句会报错,提示DUMP: Only level 0 dumps are allowed on a subdirectory

dump -1j -f /opt/etc.bak.bz2 /etc/

# 提醒

如果是重要的备份文件,比如数据区, 建议将文件上传到其它服务 器保存,不要将鸡蛋放在同在一个篮子.

# 使用restore完成恢复

# 基本介绍

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

# restore基本语法

restore [模式选项] [选项]

说明下面四个模式,不能混用, 在一次命令中,只 能指定一种。

-C :使用对比模式,将备份的文件与已存在的文件相互对比。 -i:使用交互模式,在进行还原操作时,restore指令将依序询问用户 -r:进行还原模式 -t:查看模式,看备份文件有哪些文件

选项

-f<备份设备>:从指定的文件中读取备份数据,进行还原操作

# 应用案例1

restore命令比较模式,比较备份文件和原文件的区别 测试.

mv /boot/hello.java /boot/hello100.java

restore -C -f boot.bak1.bz2 //注意和最新的文件比较

04

mv /boot/hello100.java /boot/hello.java

restore -C -f boot.bak1.bz2

05

# 应用案例2

restore命令查看模式,看备份文件有哪些数据/文件

restore -t -f boot.bak0.bz2

# 应用案例3

restore命令还原模式,注意细节:如果你有增量备 份,需要把增量备份文件也进行恢复,有几个增量备 份文件,就要恢复几个,按顺序来恢复即可。.

测试

mkdir /opt/boottmp

cd /opt/boottmp

restore -r -f /opt/boot.bak0.bz2 //恢复到第1次完全备份状态

restore -r -f /opt/boot.bak1.bz2 //恢复到第2次增量备份状态

06

# 应用案例4

restore命令恢复备份的文件,或者整个目录的文件

基本语法:restore -r -f 备份好的文件

测试

07

#Linux
上次更新: 2024/04/21, 09:42:22
Linux 源码介绍&内核升级
Linux 可视化管理-webmin和bt运维工具

← Linux 源码介绍&内核升级 Linux 可视化管理-webmin和bt运维工具→

最近更新
01
微信支付功能的实现与流程
11-21
02
购物车与结算区域的深入优化与功能完善
11-21
03
购物车与结算区域的功能实现与优化
11-21
更多文章>
Theme by Vdoing | Copyright © 2023-2024 EmmmuaCode | 黔ICP备2022009864号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式