【运维实战】利用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/ ...
随机推荐
- python 教程 第十九章、 图形界面编程
第十九章. 图形界面编程 import Tkinter top = Tkinter.Tk() hello = Tkinter.Label(top, text='Hello World!') hello ...
- 罚函数(penalty function)的设计
1. encourage sparsity ℓ0 范数: non-differentiable and difficult to optimize in general ℓ1 范数: 对数约束,log ...
- C#操作EXCEL常见操作集合(行高,列宽,合并单元格,单元格边框线)
private _Workbook _workBook = null; private Worksheet _workSheet = null; private Excel.Application _ ...
- C++ 中间statickeyword
static顾名思义是一个静态的含义.在此我想谈谈相关的系统statickeyword角色,当然,这主要是对语言的发展C与C++角色,在信息方面的作用等方面,请另找.在评论中肯定有不恰当,请大胆地抛砖 ...
- JS判断android/IOS,并执行回调函数
判断类型: var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') ...
- Golang的演化历程
本文来自Google的Golang语言设计者之一Rob Pike大神在GopherCon2014大会上的开幕主题演讲资料“Hello, Gophers!”.Rob大神在这次分 享中用了两个生动的例子讲 ...
- gnuradio companion 找不到第三方模块gr-osmosdr的问题
我使用了来自Ettus的gnuradio软件包,之后安装了gr-osmosdr 以在gnuradio中调用RTL电视棒. 但是在gnuradio companion找不到来自rtlsdr-source ...
- Ionic3开发环境搭建-VS Code
原文:Ionic3开发环境搭建-VS Code 一.Ionic3在VS Code中的开发环境搭建 1.全局安装Ionic包 npm install -g cordova ionic 使用 ionic ...
- WinForm DataGridView制作表格
1. 将背景颜色改为白色 this.dataGridView1.BackgroundColor = Color.White; 或 2. 禁止启用添加,启用编辑,启用删除 this.dataGridV ...
- C# 屏蔽Ctrl Alt Del 快捷键方法+屏蔽所有输入
原文:C# 屏蔽Ctrl Alt Del 快捷键方法+屏蔽所有输入 Win32.cs /* * * FileCreate By Bluefire * Used To Import WindowsApi ...