【运维实战】利用tar -g 实现简单全量备份和增量备份(带演示)
备份产生
全量备份指完全备份,增量备份指针对上次至今的修改进行备份。linux提供tar -g可实现备份功能。
第一次运行 tar -g 备份存放目录/snapshot -czvf 备份存放目录/备份文件名称 被备份目录
来进行全量备份。之后再执行该命令,将进行增量备份。增量备份针对目录修改进行对修改的备份。
由于每次备份,不管是全量备份还是增量备份,都会生成备份文件,如果文件重名,将进行覆盖,从而导致历史备份丢失(例如第一次备份的全量备份丢失,则后面进行的是增量备份,就几乎是无效备份)。
因而一定要记住之后的执行,要将 备份文件名称 换一个名字!
备份恢复
一般说来,加持 -czvf 参数我们习惯生成.tar.gz文件。
解压利用参数 -zxvf .
运行 tar -zxvf 备份存放目录/备份文件名称 (恢复备份目录)进行备份的恢复。
需要注意恢复顺序,应从全量备份恢复,后逐步按照备份先后时间进行文件的恢复。这样才能保证最终的结果是按照时间顺序变化的。
过程演示

上图,检查了目录内文件,并执行了全量备份。

切换到备份目录内,目录内有snapshot(快照)文件和生成的全量备份文件。

为了便于区分,将全量备份文件名加入full关键字,提高辨识性。

在a.txt的里面加入一些内容(原来没有内容,此处用sh执行该文件输出表示给空文件内添加了内容)。同时在目录内新建了d.txt。
随后再执行备份操作,可以看到,此时执行备份的内容只有被修改过的a和新增的d文件。

现在,备份目录下出现了增量备份文件add。
下面恢复备份。

删除被备份目录下所有文件。

先恢复full,再恢复add,观察一下a,有内容!说明恢复完没问题~

重新删掉。再模拟恢复。这次先恢复add,再恢复full,发现a内没内容(说明full内的最原始a覆盖了最后一次编辑的a)。
至此,证明了恢复备份需要按照前述顺序,否则会出现异常。
【运维实战】利用tar -g 实现简单全量备份和增量备份(带演示)的更多相关文章
- 《Splunk智能运维实战》——1.7 为本书加载样本数据
本节书摘来自华章计算机<Splunk智能运维实战>一书中的第1章,第1.7节,作者 [美]乔史·戴昆(Josh Diakun),保罗R.约翰逊(Paul R. Johnson),德莱克·默 ...
- CentOS7系统管理与运维实战
CentOS7系统管理与运维实战 下载地址 https://pan.baidu.com/s/1KFHVI-XjGaLMrh39WuhyCw 扫码下面二维码关注公众号回复100007 获取分享码 本书目 ...
- Istio 运维实战系列(2):让人头大的『无头服务』-上
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...
- Istio 运维实战系列(3):让人头大的『无头服务』-下
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...
- 运维实战案例之“Too many open files”错误与解决方法
运维实战案例之"Too many open files"错误与解决方法 技术小甜 2017-11-16 15:02:00 浏览869 服务器 shell tomcat 脚本 o ...
- 企业Shell面试题及企业运维实战案例(三)
1.企业Shell面试题1:批量生成随机字符文件名案例 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: ...
- 网易OpenStack部署运维实战
OpenStack自2010年项目成立以来,已经有超过200个公司加入了 OpenStack 项目,目前参与 OpenStack 项目的开发人员有 17,000+,而且这些数字还在增加,作为一个开源的 ...
- 七年老运维实战中的 Shell 开发经验总结【转】
无论是系统运维,还是应用运维,均可分为“纯手工”—> “脚本化”—> “自动化”—>“智能化”几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避 ...
- 转 移动云基于MySQL Galera的PXC运维实战
##sample 1 : mysql 监控 1.phpadmin 比较简单,适合上手 2.mysql_web python 写的, https://github.com/ycg/mysql_web/ ...
随机推荐
- 构建自己的PHP框架(Redis)
完整项目地址:https://github.com/Evai/Aier Redis 简介 'Redis' 是一个高性能的 'key-value' 数据库,其 'value' 支持 'String'.' ...
- Asp.net-MyFirstMVCProject详细解释
一个URL要求, ASP.NET MVC引擎将分析URL要使用Controller, 这个Controller(取而代之的是,真实的方法Controller的Action)从数据库或者其它数据源获取数 ...
- Mybatis 一对多 配置文件
当一个Entity中包含的属性有对象和对象集合时,用mybatis映射时要在Entity中添加一个字段来唯一标识当前的Entity对象.否则查询的Entity集合中的对象会被覆盖掉. 如下一个POJO ...
- ORACLE 时间加减操作
DATE和timestamp类型都可以进行加减操作.可以对当前日期加年.月.日.时.分.秒,操作不同的时间类型,有三种方法: 1 使用内置函数numtodsinterval增加小时,分钟和秒2 加一个 ...
- WPF控件获得焦点时去除虚线框
原文:WPF控件获得焦点时去除虚线框 <Setter Property="FocusVisualStyle" Value="{x:Null}" />
- TVideoCapture类的源码,继承TCustomPanel,用于视频捕获(用到了SendMessage和SetWindowPos等API)good
unit VideoCapture; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, ...
- Linux学习之“exit函数”
先看下"_exit"和"exit": exit被调用时,将冲刷所有的标准I/O流,关闭所有打开的文件描述符.在传统实现中,同时也将关闭标准I/O流.即表示标准输 ...
- win10 uwp ApplicationView
原文:win10 uwp ApplicationView 本文和大家介绍一个重要的类,他可以用来设置窗口,如设置启动大小,设置是否允许截图,是否进入全屏,所有和窗口有关的,都可以在他这里设置. 可以使 ...
- 安卓环境下,通过QT调用jar包
在安卓上,许多第三方工具都提供jar包.qt可以通过jni来调用jar包.本文通过一个例子,说明安卓上QT调用jar的方式. 工具/原料 qt android jar包 jar包准备 1 ja ...
- 奇虎360选择IPO “壳概念”很受伤
黄一帆 “市场正呈现出为一幕经典影像:在绚丽的霞光笼罩下,蔚蓝色的大海边,在金色的海岸上,欢笑的孩子们踮起脚尖,刚好看见原来海平面露出的航船桅杆——那是缓缓驶来的注册制号:而转过头来,则是沙滩上大 ...