服务器数据自动备份与同步

虽然大部分时候都是不作不死,不过在很多时候程序的崩溃也是让人措不及手啊。自动化的备份和同步必须要有。

我没有什么很复杂的应用程序或者数据库需要备份,都是简单的文件备份(包括常规数据库)。

因为我服务器一切皆容器,数据全部通过数据卷挂载,所以我要做的事情仅仅只是打包文件夹,增量备份并同步,仅此而已。


tar 命令

tar 命令是通用性较强的 Unix/Linux 归档命令。tar 将一个或多个文件和目录打包为单个文件,并保持原始文件的大小、拥有者、权限、文件类型及其在文件系统层次结构中的位置。tar 是最易用的数据备份实用程序。

参数 含义
-c 该参数会创建一个新的存档
-v 该参数会列出每个处理的文件名称
-f 该参数会指定存档或设备名称
-z 该参数将用 gzip 对存档进行压缩或解压
-x 该参数将从存档文件中提取一个或多个文件
--exclude 排除不打包的目录或文件,支持正则匹配

要创建 /Data 的存档文件,使用:

# tar -czvf backup.tar.gz /Data/

要恢复该目录,使用:

# tar -xzvf backup.tar.gz /Data/

tar 在提取文件和较小的目录方面表现不错,如果要恢复文件系统和卷组,我们更倾向于选用 cpio, 或是使用专用性更强的 Linux/Unix 数据备份实用程序。

tar 提供了增量压缩的功能

备份当前目录下的所有文件:

# tar -g /data.snap -zcpf /data-$(date +%Y-%m-%d_%H).tar.gz .

在需要恢复的目录下解压恢复:

# tar -zxpf /data-****.tar.gz -C .

如果归档文件太大,可以分割压缩:

# tar -g /data.snap -zcpf - --exclude=./cache ./ | split -b 1024M - /data-$(date +%Y-%m-%d_%H).tar.gz_

分割后文件名后会依次加上aa,ab,ac,...,上面最终的备份归档会保存为以下的格式(每个归档文件最大 1024MB):

data-2017-02-07_22.tar.gz_aa
data-2017-02-07_23.tar.gz_ab
data-2017-02-07_24.tar.gz_ac

恢复备份的档案文件:

# cat data-2017-02-07_24.tar.gz_* | tar -zxpf - -C /tmp/data/

恢复增量备份的档案文件(可以一直逆向恢复到你想要恢复的时间点):

$ tar –zxpf /data-2017-02-07_24.tar.gz -C /Data
$ tar –zxpf /data-2017-02-07_23.tar.gz -C /Data
$ tar –zxpf /data-2017-02-07_22.tar.gz -C /Data

一定要保证是按时间逆序恢复的,这一点挺麻烦的,不过可以使用上面通配符的形式自动恢复到指定日期。

cpio 命令

cpio 与 tar 类似,是通用性较强的 Unix/Linux 归档命令。一般被用来备份和恢复文件及目录结构。

参数 含义
-o 该参数会将数据拷贝到文件或设备中
-i 该参数会将数据从文件或设备中还原到系统中
-v 该参数会列出每个处理的文件名称
-z 该参数会按需要建立目录
-x 该参数会从标准输入读取文件路径名称,然后将这些文件复制到指定的目录
-d 该参数会按需要建立目录
-p 该参数会从标准输入读取文件路径名称,然后将这些文件复制到指定的目录
-B 该参数会将 I/O block 增加到 5120bytes,默认是 512bytes。加快数据备份速度
-m 该参数会保留时间属性
-u 该参数自动将较新的文件替换到较旧的文件

将 /Date 目录和它的所有文件和子目录建立存档,使用:

# find /Data/ -depth | cpio -ov > backup.cpio

cpio 无法直接读取文件,它需要每个文件或者目录的完整路径名才能识别读取,而 find 命令的输出刚好做到了这点,因此,cpio 命令一般和 find 命令配合使用。

要恢复该目录,使用:

# cpio -ivdum < backup.cpio

cpio 建立起来的归档文件包括文件头和文件数据两部分。文件头包含了对应文件的信息。如文件的 UID,GID,连接数以及文件大小等。其好处是可以保留硬连接,在恢复时默认情况下保留时间戳,无文件名称长度的限制。
我喜欢用这个工具备份,简单粗暴,毕竟我数据不是很多。


参考链接:


rsync

如果将数据备份与远程传输结合起来,譬如 scp,就可以实现数据的远程备份。但通常的备份方法,都无法对本地和远程目录中的内容进行同步。

rsync(Remote Sync)是 Unix/Linux 系统下一款优秀的数据备份与同步工具。它可以对文件集进行同步。然而更有价值的是,rsync 使用文件的增量,也就是说,它在网络中仅发送两个文件集合有区别的部分。这样可以占用更少的带宽,并且速度更快。

rsync 的特性:

  • 能够更新整个目录树和文件系统
  • 保持原文件的权限,时间,软硬链接
  • 安装无需特殊权限
  • 优化的流程,文件传输速率高
  • 可以通过直接的 socket 连接传输文件,或者选择 rsh,ssh 等方式
  • 支持匿名传输

|参数|含义|
|-a|该参数表示以递归方式传输文件,并保持所有文件属性|
|-v|该参数显示详细的传输处理|
|-z|该参数对备份的文件在传输时进行压缩处理|
|-P|该参数将显示备份过程|

使用方法烂大街不想说,而且我也不用这个,效率不高。需要实现自动备份还需要靠inotify-tools这种工具配合。

比如这篇教程:Linux 下同步工具 inotify+rsync 使用详解


qshell

因为你用七牛存储文件,可以用这个工具同步文件。
https://developer.qiniu.com/kodo/tools/qshell

其他

像 Google Driver、Dropbox、百度云都有终端的工具,自己同步就好,这类工具的自动检测文件夹比传统 Linux 传输工具好用。


自动执行?Crontab 啊!

我懒,直接丢个链接:
Crontab - 定时任务必备招式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容