不言而喻,备份对我们的日常工作非常重要。之前有一个尴尬的场景,gitlab误删了300g数据,实时恢复了数据刺激,然后腾讯云故障丢失了客户数据,被索赔了几千万。
现实生活中或多或少会有类似的事情。比如电脑蓝屏,虚拟机突然坏了,导致整天重新配置工作环境。比如你误删了电脑里的相册数据或者开发文档,导致重新整理或者写,甚至电脑直接坏了或者被偷了。
这一系列问题或多或少与我们的备份有关。今天,我主要与大家分享一些我每天使用的更多备份工具。
Git版本控制系统
提到备份,毫无疑问必须是版本控制系统–Git。
首先我们简单解释一下什么是版本控制,它主要是记录一个或多个文件内容变化,以便将来进行查阅版本修订的系统。
有了Git,你能很容易追溯到历史的各个版本,你能随意更改变更,最后很容易回到之前的样子,几乎不会增加额外的工作就能实现。
说到这里,就要解释下为什么我不喜欢用word进行写文档,而是用Markdown,不仅仅Markdown简单好用易于排版,还有一个md文件是普通文本文件,而word生成的docx是二进制文件,只能监听到改动却无法对改动进行恢复对比。
还记得我们大学写毕业论文的时候,产生7,8个版本的word文档场景么?
每次论文的每个版本或多个版本之间,对比非常困难,不能很好差异化,管理还原出来。(即使word有对比功能)
实际情况我们论文可以尝试Git+Markdown
进行管理书写,再通过Pandoc
生成docx,即可以进行版本控制又可以以标准格式交差。
Rsync文件备份
说完文件监听控制,我们谈一下Rsync,它是一个Linux系统管理员常用的命令行工具,常用于数据拷贝备份,主要用于开发过程中操作。
比如我们开发过程传输代码到线上服务器的时候,或者备份数据库或者日志文件等等。
主要特点:
-
数据传输进行指定压缩解压缩,减少带宽占用 -
差异计算,文件对比,文件更新才进行传输(即增量同步)
简单用法如下:
rsync -avz source_dir dest_dir(username@host:PATH) --exclude "*.pyc*" --delete
其中 -v verbose 详细输出
-a 归档模式,递归方式传输文件
-z 压缩文件传输
-h human-readable, 输出友好
--exclude 不包括 pyc的文件,
--delete删除在源端不存在的文件(不加不会默认删除)
# source_dir 带 `/ ` 会把所有内容复制到目的端,不带就会创建复制同名目录,源端同理。
日常工作中我们备份数据常常用crontab进行定期执行rsync命令,但是为了更方便管理我们对服务的操作,可以把命令的shell文件加入版本控制里面,通过Celery Beat来进行统一执行定时任务。
Dropbox云存储
说完数据文件的命令行备份,我们简单说一下图形用户界面的Dropbox。
Dropbox是一个线上云存储服务,最初由Python书写,通过云计算实现和互联网文件同步,用于存储和共享文件及文件夹。
主要特点:
-
全自动备份,增量更新 -
支持两步认证,存储更安全 -
分享/协作自由方便 -
IFTTT辅助功能
如果因为Qiang的问题而放弃优秀的工具,是得不偿失的,建议大家都去尝试一下。
Time Machine时光机器
最后来说说对整个操作系统备份–Time Machine(时光机器),它是 Mac OS X 内置的备份工具,它可以自动按照每小时,每天或者每周来对你的苹果电脑进行备份。
可以在本地或者外接键盘进行备份。比如我家里面就是使用LaCie外接硬盘进行系统备份的。
如果你要进行系统升级或者数据迁移,Time Machine将是你最好的安全防线,强烈建议Mac的同学开启进行备份。
恢复任意时刻系统图
上面的四个工具,我们从文件细微变更(Git),到命令行文件增量同步(Rsync)备份,到Dropbox图形用户界面的云存储服务的文件管理,到最后整个操作系统备份,做了一个简短的介绍,希望大家可以去尝试一下,使用好了这几个工具,我们的文件数据将变得更加安全。
如果你有问题或者更好的推荐,欢迎留言来分享你的效率工具。1
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !