我常用的4个备份工具


不言而喻,备份对我们日常工作是非常重要的,前有GitLab误删300G数据实时恢复数据刺激过程,后有腾讯云故障丢失客户数据,遭千万索赔的尴尬场景。

实际生活中类似的事情或多或少都会有那么一些。比如电脑蓝屏,虚拟机突然坏掉,导致一天都在重新折腾配置工作环境,比如误删了自己电脑里面相册数据或者开发文档,导致重新整理或书写,甚至直接电脑摔坏或者被偷了。

这一系列问题多多少少与我们备份有关,今天我主要分享几个我日常用的比较多的备份工具给大家。

Git版本控制系统

提到备份,毫无疑问必须是版本控制系统–Git。

首先我们简单解释一下什么是版本控制,它主要是记录一个或多个文件内容变化,以便将来进行查阅版本修订的系统。

有了Git,你能很容易追溯到历史的各个版本,你能随意更改变更,最后很容易回到之前的样子,几乎不会增加额外的工作就能实现。

说到这里,就要解释下为什么我不喜欢用word进行写文档,而是用Markdown,不仅仅Markdown简单好用易于排版,还有一个md文件是普通文本文件,而word生成的docx是二进制文件,只能监听到改动却无法对改动进行恢复对比。

还记得我们大学写毕业论文的时候,产生7,8个版本的word文档场景么?

每次论文的每个版本或多个版本之间,对比非常困难,不能很好差异化,管理还原出来。(即使word有对比功能)

实际情况我们论文可以尝试Git+Markdown进行管理书写,再通过Pandoc 生成docx,即可以进行版本控制又可以以标准格式交差。

Rsync文件备份

说完文件监听控制,我们谈一下Rsync,它是一个Linux系统管理员常用的命令行工具,常用于数据拷贝备份,主要用于开发过程中操作。

比如我们开发过程传输代码到线上服务器的时候,或者备份数据库或者日志文件等等。

主要特点:

数据传输进行指定压缩解压缩,减少带宽占用
差异计算,文件对比,文件更新才进行传输(即增量同步)
简单用法如下:

1
2
3
4
5
6
7
8
9
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书写,通过云计算实现和互联网文件同步,用于存储和共享文件及文件夹。

主要特点:

  1. 全自动备份,增量更新
  2. 支持两步认证,存储更安全
  3. 分享/协作自由方便
  4. IFTTT辅助功能

如果因为Qiang的问题而放弃优秀的工具,是得不偿失的,建议大家都去尝试一下。

Time Machine时光机器

最后来说说对整个操作系统备份–Time Machine(时光机器),它是 Mac OS X 内置的备份工具,它可以自动按照每小时,每天或者每周来对你的苹果电脑进行备份。

可以在本地或者外接键盘进行备份。比如我家里面就是使用LaCie外接硬盘进行系统备份的。

如果你要进行系统升级或者数据迁移,Time Machine将是你最好的安全防线,强烈建议Mac的同学开启进行备份。

恢复任意时刻系统图

上面的四个工具,我们从文件细微变更(Git),到命令行文件增量同步(Rsync)备份,到Dropbox图形用户界面的云存储服务的文件管理,到最后整个操作系统备份,做了一个简短的介绍,希望大家可以去尝试一下,使用好了这几个工具,我们的文件数据将变得更加安全。

如果你有问题或者更好的推荐,欢迎留言来分享你的效率工具。

相关链接:

你为什么需要1Password?

不可错过的2款Markdown工具

4款增强你幸福感的电子产品

sitin wechat
扫一扫上面的二维码,订阅我的博客!