【运维实战】利用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/ ...
随机推荐
- JS数组操作:去重,交集,并集,差集
原文:JS数组操作:去重,交集,并集,差集 1. 数组去重 方法一: function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map ...
- c#引用相等性比较(ReferenceEquals)
Object.ReferenceEquals方法原型 public static bool ReferenceEquals( object objA, object objB) namespace T ...
- Codeforces Round #263 (Div. 2) proA
称号: A. Appleman and Easy Task time limit per test 1 second memory limit per test 256 megabytes input ...
- ArcGIS Runtime SDK for WPF 初始化
安装包 管理nuget包 Esri.ArcGISRuntime.WPF 也许还需要 Esri.ArcGISRuntime.Hydrography Esri.ArcGISRuntime.LocalSer ...
- [转]Nodejs开发框架Express4.x开发手记
Express: ?web application framework for?Node.js? Express 是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮 ...
- main()如果返回0,则代表程序正常退出,返回非零代表程序异常退出。
读到这里,大家应该了解了main函数返回值的来龙去脉了.下面介绍一下main函数返回值的作用以及如何获得这个返回值.main函数的返回值用于说明程序的退出状态.如果返回0,则代表程序正常退出.返回其它 ...
- 【C#】VS2012+InstallShield2013制作软件更新包
原文:[C#]VS2012+InstallShield2013制作软件更新包 上篇文章介绍了如何使用installshield制作软件的安装包,见地址:http://blog.csdn.net/cat ...
- 关于C#的可变长参数
可变参数 params===>> params int[] list,传入参数的类型必须是一种类型 static void Main(string[] args) { , , , ); C ...
- C#代码中设置 控件的触发器
Style style = new Style(); style.TargetType = typeof(TextBox); MultiDataTrigger trigger = new MultiD ...
- 用蓝牙连接debian和诺基亚手机
本方法已经用debian 4.0.诺基亚9300和一个hl-united牌子的USB蓝牙适配器测试过了,效果很好. 1.安装必要的软件包: #apt-get install ...