【运维实战】利用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/ ...
随机推荐
- Android正在使用Handler实现消息分发机制(零)
演讲前,AsyncTask文章.我们在最后谈到.AsyncTask它是利用Handler异步消息处理机制,操作结果.使用Message回到主线程,从而执行UI更新线程. 而在我们的日常开发工作,Han ...
- 在Docker中创建Mongo容器的后续设置
后续设置包括设置数据库管理员账号密码.创建业务数据库以及设置账户密码 需要注意的是,在创建Mongo容器后,需要映射到本机 以管理员身份打开powershell 先切换到mongdo bash # ` ...
- C# ToString() 数据格式
double[] numbers= {1054.32179, -195489100.8377, 1.0437E21, -1.0573e-05}; string[] specifiers = { &qu ...
- 属性更改通知(INotifyPropertyChanged)——针对ObservableCollection
问题 在开发webform中,wpf中的ObservableCollection<T>,MSDN中说,在添加项,移除项时此集合通知控件,我们知道对一个集合的操作是CURD但是恰恰没有Upd ...
- 解压压缩文件报错gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
压缩包是直接weget 后面加官网上的tar包地址获取的 [root@xuegod43 ~]# tar -zxvf /home/hadoop/hadoop-2.6.5-src.tar.gz gzip ...
- 赵伟国辞去TCL集团董事等职位,紫光参与TCL定增浮盈已超7亿
集微网消息,TCL 集团于8月9日晚间发布公告称,公司董事会于近日收到董事赵伟国先生的书面辞职报告,赵伟国先生因个人原因申请辞去公司董事及公司战略委员会委员职务.辞任后,赵伟国先生不再担任公司任何职务 ...
- JS顶级对象window
<script type="text/javascript"> var num = 100; alert(num); wind ...
- Android中对sqlite加密--SQLCipher
原文:Android中对sqlite加密--SQLCipher android中有些时候会将一些隐私数据存放在sqlite数据库中,在root过的手机中通过RE就能够轻松的打开并查看数据库所有内容,所 ...
- Windows证书的生成导出以及使用证书验证文件是否被修改
本文介绍了如何使用Windows自带的证书生成器生成,导出,使用证书.并以验证文件是否被修改举例 1.证书相关辅助类 public sealed class DataCertificate { #re ...
- <转>C# 动态创建DataTable
C# 动态创建DataTable,有时候在做些测试Demo中用来模拟一些数据比较不错.记在这里避免以后重写呵呵... DataTable dt = new DataTable(); dt.Column ...