8种基于文件的Linux备份方案

在参与各种Web开发项目时,我积累了不少能够方便开发者、系统管理员和DevOps的工具及服务。每当项目接近尾声,所有开发人员都会碰到的首要难题之一便是备份的配置以及媒体文件、用户生成内容(UGC)、数据库、应用和服务器数据(如配置文件)的维护。

当下,能够快照备份整个服务器的方案屡见不鲜,然而在大多数情况下却是文件增量备份更加有用。

在这里,我们仅仅列出能够细分到单个文件对服务器的文件和数据进行备份还原的工具。

Bacula

Bacula是一套开源软件,能够辅助用户(系统管理员)管理基本的备份和还原,也可以对整个网络不同的计算机进行数据校验。Bacula简单易用,相当有效率,同时也提供许多高级的存储管理功能,能够轻松发现丢失或损坏的文件并恢复。以专业术语来讲,这是一款依赖网络的开源备份程序。

就我的角度看来,它过时了,功能和接口都很单纯。不过仍然有人维护这个软件,最新版本于今年四月份发布。

Amanda

AMANDA(the Advanced Maryland Automatic Network Disk Archiver,马里兰高级网络自动磁盘归档程序)是一个备份系统,能让管理员使用一台中央服务器通过网络将多个主机备份到磁带、硬盘或光盘。Amanda使用系统的dump命令或GNU tar工具,可以备份大量运行不同版本UNIX的工作站。

duplicity

Duplicity是采用rsync算法并有效利用流量的加密备份工具。备份文件目录时,它先生成加密的tar档案,然后将其上传到远程或本地的文件服务器。它使用了librsync库,所以产生的增量备份能有效利用磁盘空间,仅仅记录部分自上一次备份后修改过的文件。同时,因为它会用GnuPG处理档案,可对档案加密签名,所以生成的备份不会轻易泄露信息或是遭到篡改。

该软件没有图形界面,是属于真正UNIX人的。加密、增量备份、存储至亚马逊S3,这些它都可以做到。恢复数据相当简单,所以我建议尝试一下。

BackupPC

BackupPC是高性能的企业级备份系统,可以将Linux和Windows的桌面计算机备份至服务器磁盘。BackupPC高度可配置,也很容易安装维护。当前磁盘与RAID的价格在不断下降,所以将大量机器备份至服务器的本地磁盘或网络存储是可行并且经济的,而这正是BackupPC所做的。

它拥有Web界面,甚至能够备份低于Windows XP的系统。

rdiff-backup

rdiff-backup将一个目录备份至另外一个目录(可能在网络上)。在目标目录最终将会得到一份源目录的拷贝,除了一个特殊的子目录,其中存有反向的差异记录,以便恢复稍久之前丢失的文件。软件的目标就是将镜像与增量备份的优点结合起来。它还可以保存子目录、硬链接、设备文件、UNIX权限、文件所有权、修改时间、拓展属性、访问控制表以及Mac OS X的Resource fork。

rdiff-backup自2009年以来没有更新。

sbackup

sbackup套件(simple backup)是GNOME桌面环境的一个备份方案。所有的配置都可以通过GNOME实现。文件与目录可以直接或使用正则表达式进行包括或排除,然后备份至本地或网络。配置起来很简单,并且零维护。该工具基本就是复现UNIX管理员用了几十年的传统方法,但它添加了图形界面的用户交互方式。这意味着它的备份是用传统的tar命令创建的,但用起来比只用命令行方便了许多。

sbackup仅仅适合桌面计算机,不适合服务器。

afbackup

afbackup是C/S模型的备份系统,可以将多台工作站备份至一个中央服务器(可以同时进行)。它可以维护备份服务器或一个文件中的备份档案,对其进行创建、解包或查看的操作。客户端的备份可以使用cron自动启动,但更好的方法是由一个中央管理主机进行远程启动。为避免采用可能引入安全漏洞的rsh、rcp之类的工具,这种远程启动的机制在程序内部实现。

有关该软件的全部功能,可以参考这个链接:http://www.linuxlinks.com/article/20090106115052570/afbackup.html

BitCalm

BitCalm让Web开发者可以在Linux服务器上轻松在一分钟之内设置好应用的备份。

这是一个服务器备份的SaaS平台。安装Python客户端后,用户可以在Web界面中管理文件甚至是数据库的备份。

平台提供备份到亚马逊S3的方式,允许用户使用自己的存储空间。

它产生的备份均为增量备份,平台为服务器设计,支持所有流行的基于Linux的操作系统:Ubuntu、Debian、CentOS、Arch Linux。

为使用户安心,平台每天都会发送报告和提醒。BitCalm允许在一个账户中管理多个备份,用户可以将备份还原至任意一个加入到平台的服务器。

本文的版权归 mentha 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏轻扬小栈

linux 百度客户端 非图形界面 小结

1365
来自专栏我是攻城师

漫谈依赖管理工具:从Maven,Gradle到Go

3486
来自专栏云计算教程系列

如何使用mosh替换ssh

毫无疑问,SSH是远程服务器管理最实用的方法。然而,它的主导地位并不意味着它在某些情况下没有缺点。如果您曾在移动设备上使用过SSH,那么,你应该知道SSH的一些...

1164
来自专栏Java技术栈

SpringCloud Eureka自我保护机制

自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行。...

36810
来自专栏MoeLove

Linux上源码编译MongoDB

MongoDB的官网上是有已经编译好的二进制包的,这里选择clone MongoDB在github上的仓库

763
来自专栏BeJavaGod

抛弃百度UMEditor,拥抱summernote

由于一些项目上的原因以及相关因素,我们使用其他富文本编辑器替代了UMEditor 本来用CKEditor,但是团队觉得使用起来很不顺手,尤其图片上传十分不爽,功...

3365
来自专栏PHP实战技术

论linux下计划任务

小伙伴们,平时做程序开发的时候,是否也曾为实现一个商城网站或者一个小程序自动执行某个方法而苦恼呢?

19210
来自专栏张首富-小白的成长历程

CentOS系统优化脚本,未完结

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

1412
来自专栏任浩强的运维生涯

Jenkins的初级应用(1)-Publish Over SSH

    作为Jenkins最基本的应用也是重要的一环就是可以把文件传到服务器上面,或者在服务器上面远程执行命令。一个可在在远程分发了文件之后就控制远程服务器的操...

640
来自专栏全华班

工作流学习-用户与组的基础概念

阅读文本大概需要 5 分钟。 前一段时间我们在前面文章中介绍了工作流、也初步认识了Activiti流程框架,我们知道了它是目前市面上比较流行的工作流...

3294

扫码关注云+社区