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

原文:https://dzone.com/articles/8-file-based-backup-solutions

在开发不同的 Web 项目时,我积累了大量的工具和服务,以方便开发人员、系统管理员和运维的工作。 在这些项目即将开发完成之时,开发人员面临的头号难题之一,是对媒体文件、UGC(User Generated Contect,用户原创内容)文件、数据库、应用程序乃至服务器数据(例如配置文件)的备份配置和维护。

而在本文中,只列出了可对服务器文件和数据库基于文件的备份/还原解决方案。现在,有很多解决方案可以对整个服务器进行快照备份,但基于文件的增量备份在许多情况下更为实用。

Bacula

Bacula 是一些开源软件的集合,允许您(或系统管理员)对同一网络中的不同计算机上的数据,进行备份,恢复和验证。 相对于其它项目,Bacula 易于使用且效率很高,并提供了许多先进的存储管理功能,可以轻松找到并恢复丢失或损坏的文件。用技术术语来形容 Bacula 的话,它是一个开源的基于网络的备份程序。

但在我看来,Bacula 是一个带有纯粹的图形界面的过时程序。它仍然在更新,最新的稳定版本发布于今年 4 月(译注:2017 年 4 月,但截至 2018 年 1 月已经发布了新的稳定版本,详见项目官网)。

Amanda

AMANDA,是 Advanced Maryland Automatic Network Disk Archiver 的缩写,中文全称为“马里兰高级自动网络磁盘存档工具“(译注:因项目创始人 James da Silva 编写本程序时就读于马里兰大学而得名,详见 About Amanda)。作为一个备份系统,它允许管理员设置一台主备份服务器,通过网络将多台主机备份到磁带机/转录机或磁盘、光盘上。 Amanda 使用本地转储和/或 GNU tar 工具,可以对大量运行着不同版本的 Unix 的工作站进行备份。

duplicity

duplicity 是一个能够有效利用带宽并支持加密的备份程序,它通过 rsync 算法来充分使用带宽。 duplicity 通过生成加密的 tar 压缩卷,并将其上传到远程或本地文件服务器,以此来对目录进行备份。由于 duplicity 使用了 librsync 库,产生的增量备份只记录自上次备份以来文件被修改的部分,备份文件的体积可以得到压缩。duplicity 也使用 GnuPG 来进行加密和/或对文件进行签名,所以它们可以有效避免服务器的监听和/或修改。

duplicity 很适合 Unix 真爱粉。它的特点是,没有图形界面,支持加密、增量备份,支持备份到亚马逊云。要还原备份也十分简单。你可以试试这款工具。

BackupPC

BackupPC 是一个高性能的企业级备份系统,用于备份 Linux 和 Windows 系列 PC 和笔记本电脑到服务器上。 BackupPC 具有丰富的配置,易于安装和维护。鉴于硬盘和 RAID 系统的成本在不断下降,将大量机器备份到服务器的本地磁盘或网络存储上已经可以实际应用,成本也不高。这就是 BackupPC 所为你完成的事情。

BackupPC 具备一个基于 Web 的用户界面,甚至还支持对 Windows XP 之前的系统进行备份。

rdiff-backup

rdiff-backup 将一个目录备份到另一个本地或网络目录。虽然存储备份的目标目录只是源目录的一份拷贝,但都添加了文件历史更动数据,并保存于目标目录的一个特别的子目录下,因此你可以恢复丢失了好一阵子的文件。rdiff-backup 的核心思想是将镜像备份和增量备份的优点融合起来。rdiff-backup 还备份了子目录、硬链接、开发文件、文件的权限,uid / gid 所有权、修改时间、扩展属性、acls 和资源分支。

但自 2009 年以来,rdiff-backup 再也没有更新了。

sbackup

sbackup 套件,全称 "simple backup"(简单备份),是基于 Gnome 桌面的备份解决方案。所有的配置都可以通过 Gnome 接口访问。可以直接指定包含和排除的文件和路径,或者用正则表达式指定也行。也都支持本地和远程备份。配置简单,无需维护。简单来说 sbackup 使用的是 Unix 管理员已经使用了几十年的技术,但它添加了一些用于在图形用户界面中与用户交互的逻辑。这意味着文件备份是使用效果良好的老式 TAR 方法创建的,但使用起来比命令行方式要方便得多。

sbackup 仅适用于台式计算机,不适用于服务器。

afbackup

afbackup 是一个基于客户端-服务器模型的备份系统,允许许多工作站(并行地或串行地)备份到中央服务器。它用于维护备份服务器主机或文件中的备份。可以创建、解压备份或查看其内容。客户端上的备份工作可以由 cron-job 自动启动,另外一种更智能的解决方案是通过中央管理服务器远程启动客户端上的备份。由于远程启动备份功能是内部实现的,不依赖于 rsh、rcp 等工具,存在着产生安全漏洞的可能性。

可以在这里找到 afbackup 功能的更多信息:http://www.linuxlinks.com/article/20090106115052570/afbackup.html

BitCalm

BitCalm 使得 Web 开发人员可以轻松地在一分钟内设置 Linux 服务器上应用程序的备份。

这相当于服务器备份领域的 SaaS 解决方案。在安装其 python 客户端后,用户就可以通过 Web 管理界面来管理文件和数据库的备份。

BitCalm 服务使用 Amazon S3 作为备份存储,并允许用户备份到自己的存储上。

所有备份都是增量备份。BitCalm 服务专为服务器而开发,因此支持所有流行的基于 Linux 的操作系统:Ubuntu,Debian,CentOS,ArchLinux。

为了让用户随时掌握备份进度,不至于过于惊慌(译注:BitCalm 中的 Calm 意思为“冷静,不惊慌”),BitCalm 服务会向用户发送每日报告和通知。 BitCalm 服务允许在单个帐户中管理多个备份,用户可以将备份恢复到任何连接到 BitCalm 服务的服务器。

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小巫技术博客

Android入门教程AS重制-A002开发工具介绍

关于Android的开发工具有很多,基本上都以在SDK中找到,下面我们逐个来看一下:首先我们使用的是Java语言进行Android应用的开发,那么Java的运行...

572
来自专栏恰同学骚年

Key/Value之王Memcached初探:一、掀起Memcached的盖头来

  在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。但是ASP.NET中的HttpRu...

862
来自专栏PHP实战技术

论linux下计划任务

小伙伴们,平时做程序开发的时候,是否也曾为实现一个商城网站或者一个小程序自动执行某个方法而苦恼呢? 今天思梦php就给大家带了这...

3489
来自专栏用户2442861的专栏

Apache与Tomcat联系及区别

    Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的Web服务器运行。Apache是W...

1322
来自专栏听雨堂

MySql.Data.dll的版本

在.Net下访问Mysql,先是用6.4.4,老有问题,也不知道哪个版本可以用,查询官网 https://dev.mysql.com/doc/connector...

34711
来自专栏nimomeng的自我进阶

Error handling官方文档

823
来自专栏帅小子的日常

solr服务器搭建

3576
来自专栏developerHaoz 的安卓之旅

Android 解锁 Gradle 依赖新姿势

相信现在大部分人都在使用 Gradle 来进行依赖管理,不得不说,Gradle 真的相当简洁、好用,举个例子,如果我们想依赖 okhttp,直接

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

什么是负载均衡?

负载均衡是高可用性基础架构的关键组件,通常用在多个服务器之间分配工作负载来提高网站、应用程序、数据库和其他服务的性能和可靠性。

1958
来自专栏游戏开发那些事

【LINUX/UNIX网络编程】之使用消息队列,信号量和命名管道实现的多进程服务器(多人群聊系统)

        信号量(初值5,主进程接受一个客户连接后执行P操作判断是否超过5,转发子进程有一个客户退出后执行V操作,并发消息队列标识符)

1424

扫码关注云+社区