百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux系统中通过tar命令实现全量备份和增量备份

ahcoder 2025-03-19 10:07 37 浏览

简介:一般情况下,Linux数据备份的方式有这三种,分别是全量备份、差异备份和增量备份。

  • 全量备份就是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。比如备份原有的数据A,第二次如果插入了数据B,则需要备份数据A和B,第三次又插入数据C,则需要完整的备份数据A、B和C;
  • 差异备份是指在一次全备份后到进行差异备份的这段时间内,对那些增加或者修改文件的备份。比如备份原有的数据A,第二次如果插入了数据B,则只需要备份数据B,第三次又插入数据C,则需要备份数据B和C;
  • 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加和者被修改的文件。比如备份原有的数据A,第二次如果插入了数据B,则只需要备份数据B,第三次又插入数据C,则只需要备份数据C。

本文主要介绍在Linux系统中怎么通过tar命令实现全量备份和增量备份,详细内容请参考下文。

一、访问Linux服务器

1.登录Linux系统

2.查看tar版本信息

二、Tar命令介绍

说明:tar命令是用于创建和解压归档文件的工具,可以用来将多个文件和目录打包成一个单一的归档文件,也可以用来解压已经存在的归档文件。

1.Tar命令格式

2.主要参数

说明:需要特别注意是,命令中的主要参数, c/x/t 仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。

3.可选参数

三、Tar备份实例

1.建立备份路径和备份档案

说明:备份源目录/usr/local/tmp到备份目的地/mnt/backup

(1)创建备份目的地路径

执行指令# mkdir /mnt/backup创建备份目的地

(2)创建备份源目录与文件

执行指令# mkdir /usr/local/tmp 新建备份目录

执行指令# touch /usr/local/tmp/{a,b,c} 新建备份文件

2.全量备份

说明:主要是将源目录/usr/local/备份到/mnt/backup中

(1)执行全量备份

执行指令# tar -g snapshot -zcf /mnt/backup/backup_full.tar.gz /usr/local/tmp

(2)查看全量备份内容

执行指令# tar -ztf
/mnt/backup/backup_full.tar.gz

3.增量备份

说明:通过在源目录中新增一个文件2024, 并修改一个文件a的内容,然后再将源目录/usr/local/备份到/mnt/backup中。

(1)修改源目录文件

执行指令# touch /usr/local/tmp/d 增加一个文件d

执行指令# echo 20240814 > /usr/local/tmp/a 修改文件a的内容

(2)执行增量备份

执行指令# tar -g snapshot -zcf /mnt/backup/backup_inc.tar.gz /usr/local/tmp

(3)查看增量备份内容

执行指令# tar -ztf
/mnt/backup/backup_inc.tar.gz

四、还原备份数据

1.删除源目录数据

执行指令# rm -rf /usr/local/tmp

2.还原备份数据

执行指令# tar -zxf backup_full.tar.gz -C / 还原全量备份数据

备注:因为上面进行全量备份的时候使用的绝对路径,所以在使用全量备份数据进行恢复的时候不需要重新指定绝对路径,只需要将其恢复到根目录/即可。

执行指令# tar -zxf
/mnt/backup/backup_inc.tar.gz -C /usr/local/tmp 还原增量备份数据

备注:因为上面增量备份的时候使用的绝对路径,所以使用增量备份数据恢复的时候不需要重新指定绝对路径,只需要将其恢复到根目录/即可。

五、常用打包压缩及解包解压命令

1.常用的打包压缩命令

执行指令# tar -zcvf FileName.tar.gz DirName

比如将/usr/local/tmp1目录进行打包压缩

执行指令# tar -zcvf tmp1.tar.gz tmp1

2.常用的解包解压命令

执行指令# tar -zxvf FileName.tar.gz

比如将/usr/local/tmp1.tar.gz压缩包进行解包解压

执行指令# tar -zxvf tmp1.tar.gz

相关推荐

Java程序员必备的Linux命令速查表

Java程序员必备的Linux命令速查表在Java开发的世界里,Linux就像一位默默支持的幕后英雄。作为一名Java开发者,掌握一些基本的Linux命令,不仅能提高工作效率,还能让你在团队中显得格外...

Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!

在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...

linux磁盘管理相关命令(linux磁盘管理常用命令)

磁盘的使用情况会直接影响系统的性能,因此我们经常会用到以下命令,主要围绕:fdisk:磁盘分区df:文件系统的磁盘空间占用情况du:文件目录的磁盘空间占用情况查看磁盘关系lsblk查看磁盘分区情况fd...

第四章 Linux常用shell命令-4.5.磁盘管理

主要介绍一下跟磁盘管理相关命令,有比较多的内容摘抄自网络,如有侵权,请及时联系我删除:显示目前在Linux系统上的文件系统磁盘使用情况统计:df创建和维护分区表的程序:fdisk将磁盘分区或镜像挂...

Linux新手必备:20个高效命令轻松掌握!

Linux基本命令使用指南在现代计算机操作系统中,Linux因其开放性、灵活性和强大的功能,广泛应用于服务器和开发环境中。作为技术人员,掌握Linux的基本命令是非常重要的。在本文中,我们将重点介绍2...

每日必学Linux命令:ls命令(linux命令详解之ls命令)

ls命令是linux下最常用的命令。ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。通过ls命令不仅可以查看linux文件...

Linux系统dev和proc目录详解(linux dev/sr0)

简介:Linux系统里的/dev和/proc目录那可是相当重要的系统文件。在Linux系统中,/dev目录专门用来存放设备文件。不光有设备文件,系统里还有好多特殊功能也是通过设备的形式...

Linux切换目录之cd命令(linux切换指定目录)

1.基本概念1.1命令作用当我们在Linux系统上工作时,做得相当多的一项任务就是在不同的目录之间进行切换,这时就需要用到cd命令了。cd是"changedirectory"的首...

Linux切换目录(cd命令)(linux如何切换到目录)

cd命令,是ChangeDirectory的缩写,用来切换工作目录。Linux命令按照来源方式,可分为两种,分别是Shell内置命令和外部命令。所谓Shell内置命令,就是Shel...

MongoDB数据库的快速部署和启动(mongodb的使用教程)

一、Mongodb介绍常见数据库介绍关系数据库RDBMS设计表结构,通过SQL语句进行操作。连表关系常见的关系型数据库:mysqloracle(商业)DB2(IBM)sqlserver(微软...

5分钟学会网络服务搭建,飞凌i.MX9352 + Linux 6.1实战示例

在“万物互联”的技术浪潮下,网络服务已成为连接物理世界与数字世界的核心纽带,它不仅赋予了终端设备“开口说话”的能力,更构建了智能设备的开发范式。本文就将以飞凌嵌入式OK-MX9352-C开发板(搭载了...

centos安装geoserver并配置开机启动

前提条件:服务器已经安装了java环境一、下载下载地址:http://geoserver.org/release/maintain/下载后文件名为:geoserver-2.19.3-bin.zip二、...

开机启动流程(开机流程图)

grubandbootCentos5,6的开机启动流程grubCentos7的开机启动流程Centos5,6的开机启动流程initrd/initramfs一般存储在/boot目录下,以.img...

Linux cron服务概述(crontab服务)

cron是Linux/Unix系统中一个非常重要的后台服务(守护进程),用于在预定的时间间隔自动执行命令或脚本。它使得自动化重复性任务成为可能,例如日志清理、数据备份、系统维护等。1.cron...

CentOS 8利用rc.local进行开机自启动的配置

CentOS8利用rc.local进行开机自启动的配置CentOS8linux系统是不建议使用rc.local进行开机自启动的,建议创建systemdservice。我们为了方便以后多一个配置...