【运维实战】利用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/ ...
随机推荐
- device platform 相应的表
hw.machine 这个值相应相关代码最好在后台管理,降低手机端代码更新次数 if ([platform isEqualToString:@"iPhone1,1"]) retur ...
- 楼塔当天领袖acm心理(作为励志使用)
楼主个人博客:吉尔博客 假期空闲的时候使用.这些年来GCJ.ACM,TopCoder 的一个号码的一重要的比赛的参与 回顾.GCJ2006 的回顾,今天时间上更早一些吧,我如今还清晰记得3 年 前.我 ...
- OpenGL(十六) 鼠标、键盘交互响应事件
OpenGL中通过鼠标和键盘跟程序交互的实现需要实现注册鼠标和键盘响应事件,在一定条件下,该事件被触发,事件里的程序被执行,达到交互的目的. 通过glutMouseFunc(&OnMouse) ...
- tomcat的配置文件
在windows里使用tomcat有多种不同的方式,这里用的是压缩包的tomcat. 软件部署 独立程序启动 网上教程比较多,比较直观 1.在环境变量中设置JAVA_HOME或者JRE_HOME.必须 ...
- WPF 4 开发Windows 7 任务栏(Overlay Icon、Thumbnail Toolbar、Progress Bar)
原文:WPF 4 开发Windows 7 任务栏(Overlay Icon.Thumbnail Toolbar.Progress Bar) 在上一篇我们介绍了如何在WPF 4 中开发Wind ...
- Converter
public class ImgPathConvert : IValueConverter { public object Convert(object value, Type targetType, ...
- ELINK离线编程器常见问题
Q1 编程器是否可以接JTAG JTAG接口已经包含SWD接口引脚,按以下引脚对应接线即可: SWDIO->目标板JTAG 的JTMS SWCLK->目标板JTAG 的JTCK Q2 PC ...
- WP8.1的shell:SystemTray去哪了?
WP8.1 中的SystemTray被 StatusBar 代替了.在Windows.UI.ViewManagement 命名空间下,而且只能在后台代码中设置,XAML中不行.用法是这样的: Stat ...
- 使用Visual Studio开发Python
Python优秀的集成开发环境有PyCharm,Visual Studio Code等,当然你仍然可以使用Visual Studio进行开发.如果你熟悉Visual Studio,使用Visual S ...
- 開發PlainTasks與JSON的插件
PlainTasks 是款很有名的任務管理插件,具體的介紹在這裡. 我最近的工作作務,是開發一款插件,能實現 JSON 文件到 todo 類文件的轉換. JSON 的格式是這樣的 1: { 2: &q ...