当前位置: 首页 > news >正文

Linux系统之dump命令的基本使用

Linux系统之dump命令的基本使用

  • 一、dump命令介绍
  • 二、dump的使用帮助
    • 2.1 安装dump软件
    • 2.2 查看帮助信息
    • 2.3 基本语法
  • 三、dump命令的基本使用
    • 3.1 完整备份
    • 3.2 增量备份
    • 3.3 压缩备份
    • 3.4 查看备份信息
    • 3.5 理解备份层级
  • 四、总结

在这里插入图片描述

一、dump命令介绍

dump 是一个在类 Unix 操作系统中用于备份文件系统的工具。它主要用于备份 Ext2/Ext3/Ext4 文件系统。dump 命令可以逐个文件地备份整个文件系统,也可以只备份指定的文件或目录。restore 命令则用于从 dump 创建的备份中恢复数据。

二、dump的使用帮助

2.1 安装dump软件

  • 在基于 Red Hat 的系统(如 CentOS、openEuler、Rocky Linux)上,可以通过 yum 包管理器来安装 dump 工具。请使用以下命令:
 yum -y install dump

在这里插入图片描述

  • 在基于 Debian 的系统(如 Ubuntu、Debian)上,可以通过 apt 包管理器来安装 dump 工具。请使用以下命令:
apt install dump -y

在这里插入图片描述

2.2 查看帮助信息

命令行的help帮助信息

[root@openEuler-test ~]# dump --help
dump: invalid option -- '-'
dump 0.4b47 (using libext2fs 1.47.0 of 5-Feb-2023)
usage:	dump [-level#] [-acmMnqSuv] [-A file] [-B records] [-b blocksize]
	     [-d density] [-D file] [-e inode#,inode#,...] [-E file]
	     [-f file] [-h level] [-I nr errors] [-j zlevel] [-Q file]
	     [-s feet] [-T date] [-y] [-z zlevel] filesystem
	dump [-W | -w]

2.3 基本语法

  • dump 命令的基本语法如下
dump [选项] [文件系统]
  • dump 命令常用选项
选项描述
-0-9指定备份级别。0 表示完整备份,而 19 表示增量备份,数字越大,表示自上次更高级别备份以来更改过的文件将被备份。
-a自动确定要使用的磁带设备。
-b <区块大小>设置块大小,单位为 512 字节。
-B <区块数目>指定备份卷册的区块数目。
-c修改备份磁带预设的密度与容量。
-d <密度>设置磁带的密度,单位为 BPI(Bits Per Inch)。
-f <设备名称>指定备份文件的输出位置,可以是本地文件、远程主机上的文件或设备。
-h <层级>当备份层级等于或大于指定的层级时,将不备份用户标示为“nodump”的文件。
-n当备份工作需要管理员介入时,向所有“operator”群组中的使用者发出通知。
-s <磁带长度>备份磁带的长度,单位为英尺。
-T <日期>指定备份的时间与日期。
-u备份完毕后,在 /etc/dumpdates 中记录备份的文件系统、层级、日期与时间等。
-v显示处理过程中的详细信息。
-W显示需要备份的文件及其最后一次备份的层级、时间与日期。
-w-W 类似,但仅显示需要备份的文件。

三、dump命令的基本使用

3.1 完整备份

/home目录进行完整备份,并将结果保存到/backup/test.bak 文件中:

dump -0u -f /backup/test.bak /home

在这里插入图片描述

3.2 增量备份

以上已经完成了一次级别为 0 的完整备份,现在需要做一次级别为 1 的增量备份:

 dump -1u -f /backup/home_a01.bak /home

查看备份目录,可以看到备份文件。

[root@openEuler-test ~]# ll -h /backup/
total 50M
-rw-r--r-- 1 root root 8.2M Nov 12 12:17 home_a01.bak
-rw-r--r-- 1 root root  42M Nov 12 12:14 test.bak

3.3 压缩备份

对 /home 目录进行完整备份,j 选项用于指定使用 bzip2 压缩备份文件,并将备份文件压缩后保存到 /backup/full.bak.bz2。

dump -0uj -f /backup/full.bak.bz2 /home

3.4 查看备份信息

dump -W命令用于显示最近一次使用dump命令进行备份的信息。上述输出显示了三个文件系统的备份情况:/dev/mapper/openeuler-root(根目录/)和/dev/sda2(/boot)还未进行过备份,而/dev/mapper/openeuler-home(/home)的最近一次备份是在2024年11月12日12:17:50进行的,备份级别为1(即增量备份)。

[root@openEuler-test ~]# dump -W
Last dump(s) done (Dump '>' file systems):
> /dev/mapper/openeuler-root	(     /) Last dump: never
> /dev/sda2	( /boot) Last dump: never
  /dev/mapper/openeuler-home	( /home) Last dump: Level 1, Date Tue Nov 12 12:17:50 2024

3.5 理解备份层级

dump 命令中,备份级别(-0 到 -9)是一个非常重要的概念,用于控制备份的类型和范围。这些级别的含义如下:

  • -0完整备份(Full Backup)

    • 备份整个文件系统中的所有文件和目录。
    • 这是最高级别的备份,通常用于初次备份或定期的全量备份。
    • PS:
      sudo dump -0u -f /backup/full.bak /data
      
  • -1 到 -9增量备份(Incremental Backup)

    • 备份自上次指定级别备份以来更改过的文件。
    • 数字越大,表示自上次更高级别备份以来更改过的文件将被备份。
    • 例如,如果你在星期一做了级别 0 的备份,星期二做了级别 1 的备份,那么星期二的备份将只包含自星期一以来更改的文件。
    • PS:
      • 星期一:完整备份
        sudo dump -0u -f /backup/monday_full.bak /data
        
      • 星期二:增量备份
        sudo dump -1u -f /backup/tuesday_incr.bak /data
        
      • 星期三:增量备份
        sudo dump -2u -f /backup/wednesday_incr.bak /data
        

四、总结

  • 确保有足够的存储空间:在开始备份之前,确保目标备份介质有足够的空间来存储备份文件。
  • 停止不必要的服务:在执行备份操作前,最好停止不必要的服务或活动,以避免数据的一致性问题。
  • 使用适当的备份级别:选择合适的备份级别(0-9),完整备份(-0)用于初次备份,增量备份(1-9)用于后续备份。
  • 定期验证备份:定期检查备份文件的完整性和可恢复性,确保在需要时能够成功恢复数据。
  • 备份重要数据:确保备份重要的数据和配置文件,避免遗漏关键信息。
  • 使用 -u 选项时注意:使用 -u 选项更新 /etc/dumpdates 文件时,确保备份的是整个文件系统而非子目录。
  • . 监控备份过程:使用 -v 选项显示详细的备份过程信息,以便监控备份进度和排查问题。
  • 保护备份文件:将备份文件存储在安全的地方,防止未经授权的访问或损坏。
  • 定期更新 dump 工具:确保 dump 工具是最新版本,以获得最佳性能和安全性。
  • 测试恢复过程:定期测试恢复过程,确保备份文件能够在需要时成功恢复。
http://www.dtcms.com/a/100003.html

相关文章:

  • Linux系统禁用swap
  • Xenium | 细胞邻域(Cellular Neighborhood)分析(fixed radius)
  • Spring AI MCP Server + Cline 快速搭建一个数据库 ChatBi 助手
  • QML编程中的性能优化二
  • C语言指针2
  • 2024蓝桥杯省赛C/C++大学B组 题解
  • [物联网iot]对比WIFI、MQTT、TCP、UDP通信协议
  • S32K144的SDK库中两种时钟初始化的区别(二)
  • MSTP和链路聚合
  • Nginx—nginx.conf 配置结构详解
  • Linux进程管理之进程间通信的相关知识(映射、管道(Pipe)通信、命名管道(FIFO)、消息队列、信号量、信号)
  • ctfshow WEB web8
  • 【Docker】Dockerfile 优化工具 hadolint
  • 普通人使用AI心得
  • 推挽振荡 ZVS 电路
  • RK3588S与RK3588S2差异说明
  • Java String 与 StringBuffer 深入解析:特性、实现与最佳实践
  • IO流学习
  • 蓝桥云课 飞机降落
  • 【CSS】解决因float而导致的父类塌陷问题
  • 【云原生】Keycloak认证登录Grafana
  • 算法-贪心算法
  • Attention is All you Need阅读笔记
  • 使用 uv 管理 Python 项目
  • 摄像头视频信号在 WEB 端的显示和管理:技术与实现步骤
  • AI 的出现是否能替代 IT 从业者?
  • C语言基础(十)---指针基础
  • C++学习之路:指针基础
  • GMap.NET + WPF:构建高性能 ADS-B 航空器追踪平台
  • 【Golang】第十弹----单元测试、go协程和管道