Linux系列 备份与分享文档

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。
座右铭:低头赶路,敬事如仪
个人主页:网络豆的主页
目录
前言
一.备份与分享文档
1.使用压缩和解压缩工具
(1)gzip和 gunzip命令
(2) bzip2和 bunzip2命令
2.使用tar归档和释放工具
(1)制作归档备份文件
(2)从归档文件中恢复数据
前言
本章将会讲解Linux备份与分享文档
一.备份与分享文档
在Linux操作系统中,最简单的文件和目录备份工具就是cp(复制)命令。
但是当需要备份的文件,目录数量较多时,仅仅使用cp命令就显得“力不从心”,并且备份的文件数量及其所占用的磁盘空间都可能会对服务器产生不小的压力,因此,有必要对需要备份的数据进行归档和压缩。

这里所说的归档操作实际上相当于“打包”,即将许多个文件和目录合并保存为一个整体的包文件,以方便传递或携带。而压缩操作可以进一步降低打包后的归档文件所占用的磁盘空间,充分提高备份介质的利用率。
Linux操作系统中较常用的压缩命令工具包括gzip.bzip2.最常用的归档命令工具为tar,使用tar命令可以通过特定选项自动调用gzip或bzip2程序,以完成归档,压缩的整套流程,当然也可以完成解压、释放已归档文件的整套流程.

1.使用压缩和解压缩工具
gzip和bzip2是Linux操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压,两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说bzip2的压缩效率要好一些。

(1)gzip和 gunzip命令
使用gzip制作的压缩文件默认的扩展名为“.gz”,制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间,例如,以下操作将对当前目录下的rkfile文件进行压缩,生成压缩文件mkfile.gz(原始文件mkfile不再保留)压缩后的文件大小变为30KB(未压缩时为62KB).
[root@localhost -]# ls -lh mkfile*
-rwxr-xr-x.1 root root 62K May 4 01:32 mkfile[root@localhost -]# gzip mkfile
[root@localhost -]# ls -lh mkfile*
-rwxr-xr-x. 1 root root 30K May 4 01:32 nkflle.gz

当需要解压缩经gp压缩的文件时,只需使用带‘-d”选项的gxp命令即可,或者直接使用gunzip命令
例如,若将压缩文件mkfile.p进行解压缩,可执行以下操作。
[root@localhost ~]# gzip -d mkfile.gz
或者
[root@localhost -]# gunzip mkfile.gz
(2) bzip2和 bunzip2命令
bzip2和burxip2命令的用法与gzip,gurzip命令基本相同,使用bxzip2制作的压缩文件默认的扩展名为“bx2”。
例如,以下操作将对当前目录下的mkfile文件以较高压缩比进行压缩,生成压缩文件mkfile.bz2(原始文件mkfile不再保留),缩后的文件大小变为30KB(未压缩时为62KB).
[root@localhoat -]# ls -lh mkfile*
-rwxr-xr-x. 1 root root 62K May 4 01:32 mkfile
[root@localhost -]# bzip2 -9 mkfile
[root@localhost -]# ls -lh mkfile*
-rwxr-xr-x. 1 root root 30K May 4 01:32 mkfile.bz2

与gtip.gurzip命令相同,当需要解压缩经bzip2压缩的文件时,只需使用带“-d”选项的bzip2命令即可.或者直接使用buzip2命令,例如,若要将压缩文件mkfile.gx进行解压缩,可执行以下操作。
[root@localhost ~]# bzip2 -d mkfile.bz2
或者
[root@localhont -]# bunzip2 mkfile.bz2
2.使用tar归档和释放工具
tar命令主要用于对目录和文件进行归档,在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的g2p或bzip2命令),以节省磁盘空间。使用tar命令时,选项前的“-”号可以省略,常用的几个选项如下所述。
- -c:创建(Greote).tar格式的包文件。
- -C:解压时指定释放的目标文件夹。
- -f:表示使用归档文件。
- -j:调用bzip2程序进行压缩或解压。
- -p:打包时保留文件及目录的权限。
- -P:打包时保留文件及目录的绝对路径。
- -t:列表查看包内的文件。
- -v:输出详细信息(Vertbose)。
- -x:解开,ter格式的包文件。
- -2:调用g2ip程序进行压缩或解压。
(1)制作归档备份文件
制作归档及压缩包(备份)文件时,twr命令的基本格式如下:
tax [选项]....归档及压缩文件名 需要归档的源文件或目录
如果需要对制作的归档文件进行压缩:
可以通过“-z”或“-j”选项自动调用压缩工具(分别对应gp.bzip2命令程序)进行压缩。
例如,以下操作将会对/etc和/boot目录进行备份,在当前目录下生成名为sysfile.ter.g的归档压缩包,执行过程中可以看到被归档的文件列表信息,需要注意的是,在备份恢复目录或文件时,最好先将工作路径切换至目标目录或文件的所在路径,然后在执行备份命令时使用相对路径,以防输入命令时因手误而导致根目录“/”下重要文件损坏。
[root@localhost -]# cd /
[root@localhoat /]# tar zovf ayafile.tar.gz etc boot
etc/
etc/login.defa
etc/oron.hourly/
etc/fstab
//省略部分内容
[rootllocalhost /]# ls -lh sysfile.tar.gz
-rw-r--r--.1 root root 125M 4月 10 11146 syafile.tar.gz
若需要制作”ta.bz2?格式的归档压缩包,则将“-z”选项改为“-j”选项使用即可。
例如:
以下操作将会对/etc/pesswd./etc/shadow文件进行备份,在/tmp目录下生成名为usershoretar.bz2sny的旧档压缩包。
[root@localhost -]# cd /eto
(root@localhost etc)# tar jovf /tmp/usershome.tar.bz2 pasawd shadow
ete/pasavd
etc/shadow
[root@localhoat otc]# ls -lh /tmp/usershome.tar.bz2
-rw-r--r--.1 root root 2.2K 4月 1011:50/tmp/usershome.tar.bz2
(2)从归档文件中恢复数据
解压并释放(恢复)归档压缩包文件时,twr命令的基本格式如下:
tar [选项]...归档及压缩文件名 [-c目标目录]
类似地,当从“t8r.g2”格式的归档压缩包恢复数据时,需要结合“-z”选项来自动调用压缩工具.而对于”tar.bz2”格式的归档压缩包,对应的是“-j”选项,默认情况下,恢复的数据将释放到当前目录中、如果需要恢复到指定文件夹,还需要结合“-C”选项来指定目标目录。
例如,以下操作将从备份文件usershome.tar.bz2中恢复数据,释放到/etc目录下(将覆盖现有文件)。
[root@localhost -]# tar jxf /tmp/usershome.tar.bx2 -C /etc
在大部分的备份及恢复工作中,只使用ta命令就可以很好地结合gip.bzip2工具协同工作,无须再执行gip或bzip2命令。但是要注意这两个压缩工具的命令程序必须存在。
创作不易,求关注,点赞,收藏,谢谢~
相关文章:
Linux系列 备份与分享文档
作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 目录 前言 一.备份与分享文档 1.使用压缩和解压缩工具 (1&…...
SNI生效条件 - 补充nginx-host绕过实例复现中SNI绕过的先决条件
文章目录1.前置环境搭建2.测试SNI生效条件(时间)3. 证书对SNI的影响3.1 双方使用同一个证书:3.2 双方使用不同的证书与私钥4. 端口号区分测试4.1 端口号区分,证书区分:4.2 端口号区分,证书不区分:5.总结SNI运行机制6. SNI机制绕过…...
傻白探索Chiplet,Modular Routing Design for Chiplet-based Systems(十一)
阅读了Modular Routing Design for Chiplet-based Systems这篇论文,是关于多chiplet通信的,个人感觉核心贡献在于实现了 deadlock-freedom in multi-chiplet system,而不仅仅是考虑单个intra-chiplet的局部NoC可以通信,具体的一些…...
C语言静态库、动态库的封装和注意事项
1、动态库、静态库介绍 参考博客:《静态库和动态库介绍以及Makefile》; 2、代码目录结构和编译脚本 参考博客:《实际工作开发中C语言工程的目录结构分析》; 3、编写库的流程 (1)明确需求:需求是否合理、需求的使用场景、需求可能遇…...
MyBatis-Plus分页插件和MyBatisX插件
MyBatis-Plus分页插件和MyBatisX插件六、插件1、分页插件a>添加配置类b>测试八、代码生成器1、引入依赖2、快速生成十、MyBatisX插件1、新建spring boot工程a>引入依赖b>配置application.ymlc>连接MySQL数据库d>MybatisX逆向生成2、MyBatisX快速生成CRUD申明…...
年前无情被裁,面试大厂的这几个月…
2月份了,金三银四也即将来临,在这个招聘季,大厂也开始招人,但还是有很多人吐槽说投了很多简历,却迟迟没有回复… 另一面企业招人真的变得容易了吗?有企业HR吐槽,简历确实比以前多了好几倍&…...
基于Java的分片上传功能
起因:最近在工作中接到了一个大文件上传下载的需求,要求将文件上传到share盘中,下载的时候根据前端传的不同条件对单个或多个文件进行打包并设置目录下载。 一开始我想着就还是用老办法直接file.transferTo(newFile)就算是大文件,…...
KDS安装步骤
KDS kinetis design studio 软件 第一步官网(https://www.nxp.com/ 注册账号下载set成功下载软件。 随着AI,大数据这些技术的快速发展,与此有关的知识也普及开来。如何在众多网站中寻找最有价值的信息,如何在最短的时间内获得最新的技…...
JavaSE-线程池(1)- 线程池概念
JavaSE-线程池(1)- 线程池概念 前提 使用多线程可以并发处理任务,提高程序执行效率。但同时创建和销毁线程会消耗操作系统资源,虽然java 使用线程的方式有多种,但是在实际使用过程中并不建议使用 new Thread 的方式手…...
开源代码的寿命为何只有1年?
说实话,如果古希腊的西西弗斯是一个在2016年编写开源代码的开发者,那他会有宾至如归的感觉。著名的西西弗斯处罚,是神话流传下来的,他被迫推一块巨大的石头上山,当登顶之后,只能眼睁睁看着它滚下去…...
完善登录功能--过滤器的使用
系列文章目录 Spring Boot读取配置文件内容的三种方式 Spring Boot自动配置–如何切换内置Web服务器 SpringBoot项目部署 上述为该系列部分文章,想了解更多可看我博客主页哦! 文章目录系列文章目录前言一、创建自定义过滤器LoginCheckFilter二、在启动类…...
CSS基础:属性和关系选择器
字体属性 color 文本颜色 div{ color:red;} div{ color:#ff0000;} div{ color:rgb(255,0,0);} div{ color:rgba(255,0,0,.5);}font-size 文本大小 h1 {font-size:40px;} h2 {font-size:30px;} p {font-size:14px;}注意:chrome浏览器接受最小字体是12px font-we…...
设计模式:原型模式解决对象创建成本大问题
一、问题场景 现在有一只猫tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和tom猫属性完全相同的10只猫。 二、传统解决方案 public class Cat {private String name;private int age;private String color;…...
驱动开发(二)
一、驱动流程 驱动需要以下几个步骤才能完成对硬件的访问和操作: 模块加载函数 module_init注册主次设备号 <应用程序通过设备号找到设备>驱动设备文件 <应用程序访问驱动的方式> 1、手动创建 (mknod)2、程序自动创建file_oper…...
《狂飙》大结局,这22句经典台词值得细品
最近爆火的热播剧《狂飙》大家都看了吗? 剧情紧凑、演技炸裂、豆瓣评分9.0,可以说是开年评分最高的一部国产剧。 虽然大结局了。 里面有很多经典台词,值得每个人细细品味。 01 这世界不缺梦想 有本事你就去实现它 02 你这么善良 怎么跟坏…...
【计算机网络期末复习】第二章 物理层
✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为想复习学校计算机网络课程的同学提供重点大纲,帮助大家渡过期末考~ 📚专栏地址: ❤️如果有收获的话,欢迎点…...
多核异构核间通信-mailbox/RPMsg 介绍及实验
1. 多核异构核间通信 由于MP157是一款多核异构的芯片,其中既包含的高性能的A7核及实时性强的M4内核,那么这两种处理器在工作时,怎么互相协调配合呢? 这就涉及到了核间通信的概念了。 IPCC (inter-processor communication contr…...
【Rust日报】2023-02-11 从头开始构建云数据库 RisingWave - 为什么我们从 C++ 转向 Rust...
GTK4发布v0.60gtk4-rs代码库包含GTK4的Rust crates。还有个庞大的GObject库生态系统,其中许多库基于gtk-rs中包含的Rust绑定工具。 特别是:gtk-rs-core,一些核心库的绑定,例如 glib、gio、pango、graphenegstreamer-rs,…...
Linux驱动开发(一)
linux驱动学习记录 一、背景 在开始学习我的linux驱动之旅之前,先提一下题外话,我是一个c语言应用层开发工作人员,在工作当中往往会和硬件直接进行数据的交互,往往遇到数据不通的情况,常常难以定位,而恰巧…...
Spring MVC 之返回数据(静态页面、非静态页面、JSON对象、请求转发与请求重定向)
文章目录1. 默认情况下返回静态页面2. 返回一个非静态页面的数据2.1 ResponseBody 返回页面内容2.2 RestController ResponseBody Controller3. 实现登录功能,返回 JSON 对象3.1 前端使⽤ ajax,后端返回 json 给前端3.2 前端发送 JSON 的标准格式4. 请…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...
