使用backupninja备份Debian系统的教程

   小心谨慎或灾难体验会让每一个系统管理都认识到频繁的系统备份的重要性。你可以通过编写管用的旧式 shell 脚本,或使用一个(或几个)适合这项工作的备份工具来完成备份任务。因此,当你要实施一个备份解决方案时,你了解的备份工具越多,你做出的决策就会越明智。

  在这篇文章中,我们将为你介绍 backupninja ,这是一个轻量且易于配置的系统备份工具。在诸如 rdiff-backup, duplicity, mysqlhotcopy 和 mysqldump 等程序的帮助下, Backupninja 可以提供常用的备份功能,如执行远程的、安全的和增量式的文件系统备份,加密备份以及 MySQL/MariaDB 数据库备份。你可以选择性地开启使用 Email 状态报告功能,也可以对一般的硬件和系统的信息进行备份。 backupninja 的一个关键功能是它拥有一个内建的基于控制台的向导程序(被称为 ninjahelper),而后者允许你为不同的备份情景轻松地创建配置文件。

  如果非要说的话,backupninja 的缺点是:为了充分使用其所有的功能,它要求安装一些其他“助手”程序。尽管 backupninja 有针对基于 Red Hat(红帽)的发行版本的 RPM 安装包,但 backupninja 针对 Debian 及其衍生发行版本的依赖进行了优化。所以不建议在基于 Red Hat 的系统上尝试 backupninja 。

  在这篇教程中,我们将介绍如何在基于 Debian 的发行版本上安装 backupninja 。

  安装 Backupninja

  以 root 账户来运行下面的命令:

  代码如下:

  # aptitude install backupninja

  在安装的过程中,有几个文件和目录将被创建:

  /usr/sbin/backupninja 是个 bash shell 的主脚本;

  /etc/cron.d/backupninja, 默认情况下,设置 cron 任务来每隔一个小时运行上面的主脚本;

  /etc/logrotate.d/backupninja 截断由 backupninja 程序产生的日志;

  /etc/backup.d/ 是备份操作的配置文件驻留的目录;

  /etc/backupninja.conf 是包含一般选项的主配置文件。这个文件带有良好的注释且详细解释了每个选项的含义;

  /usr/share/backupninja 是那些 backupninja 所使用的脚本所处的目录。这些脚本文件负责执行实际的工作。在这个目录中,你还可以找到 .helper 文件,它们可以被用来配置和设定 ninjahelper 的菜单;

  /usr/share/doc/backupninja/examples 含有操作配置文件(即通过 ninjahelper 产生的文件)的模板。

  首次运行 Ninjahelper

  当我们尝试启动 ninjahelper 时,我们可以看到可能需要一个内部依赖程序。假如系统进行了提示,请输入 “yes” 并敲下回车键来安装 dialog(一个用于从 shell 脚本中显示友好对话框的工具)。


  当你在键入 yes 后再敲回车键时,backupninja 将会安装 dialog,一旦安装完成,将呈现出下面的截屏:


  案例 1: 备份硬件和系统信息

  在启动了 ninjahelper 之后,我们将创建一个新的备份操作:


  如果必要的助手程序没有被安装,下面的截屏将会呈现在我们眼前。假如这些软件包已经在你的系统上安装了,请跳过这一步。


  接下来的一步需要你选取相关条目来作为此次备份任务的一部分。前四个条目已经默认被选上了,但你可以通过在条目上按空格键来撤消选择。


  一旦你完成了上面的步骤,按 OK 选项来继续。接着你将能够选择是愿意使用默认的配置文件(/etc/backup.d/10.sys)来完成这次备份操作,还是创建一个新的配置文件。若为后者,一个含有与默认配置文件内容相同的文件将会在相同的目录下被创建,但它被命名为 11.sys,后续的备份操作将会创建类似的文件(注:只不过命名的序号不同)。需要说明的是一旦这个新的配置文件被创建,你便可以使用你喜爱的文本编辑器来编辑该文件。


  案例 2: 一个远程目录的增量式 Rsync 拉取备份

  正如你最有可能知道的那样, rsync 被广泛地用于通过网络同步文件或文件夹。在接下来的例子中,我们将讨论一个使用硬链接来为一个远程目录做增量式拉取备份的方法,它被用来保存历史数据以及在我们本地的文件服务器中恢复这些历史数据。这个方法将帮助我们节省空间并增强位于服务器端的安全性。

  步骤 1:编写一个带有如下内容的自定义脚本,放在 /etc/backup.d,并将它的权限设置为 600 。需要说明的是,除了一般的配置文件,这个目录可能还包含当 backupninja 执行时你想运行的一些脚本文件,它们可以发挥出位于主配置文件中的变量的优势。

  代码如下:

  # REMOTE USER

  user=root

  # REMOTE HOST

  host=dev1

  # REMOTE DIRECTORY

  remotedir=/home/gacanepa/

  # LOCAL DIRECTORY

  localdir=/home/gacanepa/backup.0

  # LOCAL DIRECTORY WHERE PREVIOUS BACKUP WAS STORED

  localdirold=/home/gacanepa/backup.1

  mv $localdir $localdirold

  # RSYNC

  rsync -av --delete --recursive --link-dest=$localdirold $user@$host:$remotedir $localdir

  在上面的配置中, rsync 的 ‘--link-dest’ 选项的作用是为位于 $localdir-old 目录中那些没有改变的文件(包含所有属性) 硬链接到目标目录($localdir)。

  步骤 2:在 backupninja 第一次运行之前,上层目录(这个例子中指的是 /home/gacanepa) 是空的。第一次我们执行下面的命令:

  代码如下:

  # backupninja -n

  backup.0 目录就被创建了,并在接下来的过程中,它的名称将会被更改为 backup.1。

  当我们第二次运行 backupninja 时, backup.0 将会被重新创建,而 backup.1 保持不动。


  步骤 3: 确保 backup.1 里面的文件硬链接到 backup.0 里的文件,我们可以通过比较文件的 inode(i 节点)数和目录的大小来达到此目的。


  总结

  Backupninja 不仅是一个经典的备份工具,它也是一个易于配置的实用程序。你可以通过编写你自己的控制脚本,用放在 /etc.backup.d 中的不同的配置文件来运行 backupninja 。甚至你还可以为 ninjahelper 编写助手程序,并将其包括在 ninjahelper 的主界面上。

  例如,假如你在 /usr/share/backupninja目录中创建了一个名为 xmodulo 的控制脚本,它将自动运行那些位于 /etc/backup.d 目录中以 .xmodulo 为后缀的每个文件。如果你决定添加你的 xmodulo 控制脚本到 ninjahelper 中, 你可以编写相应的助手程序,即 xmodulo.helper 。另外,假如你想 让 backupninja 运行其它的脚本,只需把它添加到 /etc/backup.d 目录中就可以了。

时间: 2024-10-04 18:02:31

使用backupninja备份Debian系统的教程的相关文章

如何使用 backupninja 来备份 Debian 系统

如何使用 backupninja 来备份 Debian 系统 小心谨慎或灾难体验会让每一个系统管理都认识到频繁的系统备份的重要性.你可以通过编写管用的旧式 shell 脚本,或使用一个(或几个)适合这项工作的备份工具来完成备份任务.因此,当你要实施一个备份解决方案时,你了解的备份工具越多,你做出的决策就会越明智. 在这篇文章中,我们将为你介绍 backupninja ,这是一个轻量且易于配置的系统备份工具.在诸如 rdiff-backup, duplicity, mysqlhotcopy 和 m

使用 backupninja 为 Debian 定制备份计划

使用 backupninja 为 Debian 定制备份计划 backupninja是Debian系统(以及基于Debian的发行版)中一个强大的.高度可配置的备份软件.在前一篇文章中,我们探讨了如何安装backupninja以及如何设置两个备份操作并执行.然而,那些只是冰山一角.这一次,我们要讨论如何定制 Handler 和 Helper ,使用这些功能定制策略以完成任何备份需要. 回顾 backupninja backupninja的一个独特的地方是它可以完全抛弃/etc/backup.d中

linux vps新手入门教程:kvm架构通过vnc安装Debian系统

kvm 架构还是比较流行的,期性能比OpenVZ要好,和xen架构一样属于全硬件虚拟化,使用起来稍微复杂一些,下单默认开通是没有安装系统的,默认情况需要自己安装系统,我都知道kvm 架构的vps 价格要稍高点,性能又不错,所以很多朋友可能会选择低配套餐,如128M 内存的套餐 就不适宜我们常用的CentOS 系统,256M内存及以下,CentOS 6X 系统也是无法安装的,所以我们需要安装暂用内存资源更小的 Debian系统,一样是款非常优秀的系统,使用率也挺高,而且也支持中文. 下面就跟我来一

Debian系统下为PHP程序配置Nginx服务器的基本教程_nginx

  Nginx 目前来说已经很流行了,所以打算把现有的Apache先替换一部分,在批量部署和管理方面都要考虑到.因为nginx的所有模块都是静态编译的不像apache那样可以动态添加模块,所以在一开始就要考虑清楚需求,结合现在很火的LAMP模式,其中P最常见的是PHP,目前较好的FastCGI的管理器有spaw-fcgi和php-fpm,而php老版本都是需要源码安装通过打补丁的方式把php-fpm打进去,spaw-fcgi是lighttpd默认的FastCGI管理器,因为牵扯到源码安装,当前的

如何重装系统win7 小黑马重装大师操作win7系统还原教程

  很多人的电脑使用太久会累积一些缓存和垃圾,电脑重装系统确实能帮上一些忙缓解下问题,重装系统是指对计算机的操作系统进行重新安装.电脑怎么重装系统相信难倒了不少人,其实并不难,使用适当的软件可以让电脑重装过程变得简单快捷. 本文以windows7系统为例,如何重装系统win7?在这里小编推荐大家使用小黑马系统重装大师工具,小黑马一键重装系统软件具有自动识别电脑硬件并智能云匹配最佳系统版本.不管安装XP.Win7还是Win8系统,都能实现一键在线重装系统Win7,一键在线重装系统Win8,轻松解决

U盘助手快速U盘装系统图文教程

新手必看:针对大文件传输,u盘助手提供了u盘的NTFS格式化功能. 系统文件一般有二种格式:ISO格式和GHO格式.ISO格式又分为原版系统和GHOST封装系统二种.只要用解压软件WinRAR解压后有大于600M(WIN7一般2G)以上的GHO文件的,是GHOST封装系统,PE里的U盘助手一键还原备份系统工具可以直接支持还原安装.如果解压后没有大于600M以上的GHO文件的是原版ISO格式系统,要用安装原版XP 和WIN7的方法安装,详细步骤请看相关教程.下文的教程主要针对GHOST封装版的系统

有备才无患 轻松备份Win7系统注册表

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 短短两年时间,Win7系统凭借酷炫的界面以及简单.易用.快速.安全等特点,迅速成为全球最受用户喜爱的操作系统,慢慢的,Win7已经成为身边很多同学朋友生活学习工作的好伙伴. 最近我也买了一台预装Win7的电脑,除了经常在IT网站学习一些Win7系统的教程和小技巧之外,我还关注了一个"Win7伙伴"--那就是微软中国Win7

Debian系统构建Web与FTP服务器平台

Linux服务器具有稳定性好,价格低等优点.最为一个开源平台,无论是商业机构的支持还是网络开源程序组织的技术,都达到了一个成熟的水平.因为,目前中http://www.aliyun.com/zixun/aggregation/9348.html">小型企业可以考虑一下使用  Linux作为Web服务器,FTP服务器等的平台,这里我使用了Debian系统. (一) 服务器的搭建: 有两种方法:从市场上购买Debian的系统盘或者从网站上下载系统,然后安装.下载地址: http://www.d

sql server 2000数据库备份还原的图文教程_MsSql

MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL2000中数据库的备份和还原功能. 1.首先请保证您的备份文件是bak文件,并且备份文件能够正常还原. 2.打开"企业管理器"→"数据库",选择您要还原的数据库,右键"所有任务"→"还原数据库".如图: MSSQL2000数据库备份还原的图文教程 3.如果需要还原以前备份过的文件,直接在"还原"选择"数据库",然后在下方选