Linux 上使用 backup-manager 进行系统备份

无论简单与否,我们都有机会去了解这么一件事,那就是备份的重要性从来都不可以被低估。考虑到备份的方法真的多如牛毛,你可能想要知道怎样来有效地为你的系统选择正确的工具和和合适的策略。

在本文中,我将为你介绍backup-manager,一个简单易用的命令行备份工具,在大多数的Linux发行版的标准软件库中都能见到它的身影。

是什么让备份管理器在众多的备份工具或备份策略中脱颖而出呢?让我来简单介绍一些它的与众不同的特性吧:

  • 简单的设计与管理:配置文件易于读懂和编辑,即便是初学者也很容易上手。
  • 一劳永逸:它在配置好后就可以通过cron周期性运作。
  • 支持多种协议远程备份:无缝整合多种传输协议、应用和云后端(如,FTP,SCP,SSH-GPG,rsync,AWS S3等等)来传输生成的归档包到一组远程主机。
  • 支持数据库备份:包括支持开箱即用备份MySQL/MariaDB和PostgreSQL数据库。
  • 支持加密:备份过程中支持基于GPG文件的加密。

在Linux上安装备份管理器

备份管理器的安装是快速而无痛的,因为它就包含在大多数Linux发行版的基础软件库中。

Debian,Ubuntu及其衍生版

  1. # aptitude install backup-manager

在基于Debian的系统中安装时,会提示你输入要存放备份归档文件的目录。如果选择的目录不存在,那么当你首次运行备份管理器时它会自动创建。

选择OK并按回车键。

在下一步中,会询问你要备份的所有目录(用空格分隔)。建议,但不是严格要求,列出同一父目录中的几个子目录,而不要仅仅输入父目录。

你可以跳过该步骤并在以后对配置文件中BM_TARBALL_DIRECTORIESb变量进行设置。否则的话,就请尽可能多地添加你想要的目录,然后选择OK:

Fedora或CentOS/RHEL

  1. # yum install backup-manager

在CentOS/RHEL上,在运行以上yum命令前,你将需要先启用EPEL仓库

配置备份管理器

备份管理器的主配置文件是/etc/backup-manager.conf。该文件被划分为几个章节,里面定义了备份方法和相关的变量(或“键值”),这些配置让备份管理器成为一个多样化的工具,可以广泛地应付各种状况。

出于演示目的,我们将考虑以下环境:

  • 每周对/etc,/home以及/var/log目录进行一次完整备份(我们将在下面通过cron设置备份的频率)。
  • 通过SSH传输.tar.gz备份归档文件到两台不同主机dev1和dev3上指定的目标目录。
  • 通过SSH备份本地MySQL数据库到相同目标主机。

用你喜爱的文本编辑器打开/etc/backup-manager.conf文件,并编辑以下变量。如果你愿意,你大可不必理会那些#开头的行。在本文中,它只是用作说明的注释:

  1. # Specify the backup method(s) that will be used.
  2. # tarball: takes a list of directories and builds the corresponding tarballs.
  3. # mysql: archives MySQL databases using mysqldump. To restore the database, you # need to use the same tool manually.
  4. export BM_ARCHIVE_METHOD="tarball mysql"
  5. # Where to store the backups.
  6. export BM_REPOSITORY_ROOT="/var/archives"
  7. # The following directive indicates backup-manager to name
  8. # the generated files after the directory that was backed up.
  9. export BM_TARBALL_NAMEFORMAT="long"
  10. # Define the compression type for the generated files.
  11. export BM_TARBALL_FILETYPE="tar.gz"
  12. # List the directories that you want to backup.
  13. export BM_TARBALL_DIRECTORIES="/etc /home /var/log"
  14. # Exclude some subdirectories or file extensions.
  15. export BM_TARBALL_BLACKLIST="/var/log/myotherapp.log *.mp3 *.mp4"
  16. # List the database(s) that you want to backup, separated by spaces.
  17. export BM_MYSQL_DATABASES="mysql mybase wordpress dotclear phpbb2"
  18. # MySQL username.
  19. export BM_MYSQL_ADMINLOGIN="root"
  20. # MySQL password for username.
  21. export BM_MYSQL_ADMINPASS="mypassword"
  22. # Add support for DROP statements (optional).
  23. export BM_MYSQL_SAFEDUMPS="true"
  24. # The hostname or IP address where the database(s) reside.
  25. export BM_MYSQL_HOST="localhost"
  26. # Port where MySQL server is listening.
  27. export BM_MYSQL_PORT="3306"
  28. # Compression type (optional).
  29. export BM_MYSQL_FILETYPE="gzip"
  30. # Do not archive remote hosts, but only localhost.
  31. BM_TARBALL_OVER_SSH="false"
  32. # User account for SSH upload.
  33. export BM_UPLOAD_SSH_USER="root"
  34. # Absolute path of the user‘s private key for passwordless SSH login.
  35. export BM_UPLOAD_SSH_KEY="/root/.ssh/id_rsa"
  36. # Remote hosts (make sure you have exported your public key to them):
  37. export BM_UPLOAD_SSH_HOSTS="dev1 dev3"
  38. # Remote destination for uploading backups. If it doesn‘t exist,
  39. # this directory will be created automatically the first time
  40. # backup-manager runs.
  41. export BM_UPLOAD_SSH_DESTINATION="/var/archives/backups/$HOSTNAME"

运行备份管理器

要手动运行备份管理器,请输入以下命令。你也可以选择添加‘-v’标识以便一步一步详细检查运行过程。

  1. # backup-manager

BM_TARBALL_DIRECTORIES列出的目录将作为tarball备份到BM_REPOSITORY_ROOT目录,然后通过SSH传输到BM_UPLOAD_SSH_DESTINATION指定的主机dev1和dev3。

正如你在上面图片中看到的那样,备份管理器在运行的时候创建了一个名为/root/.back-manager_my.cnf的文件,MySQL密码通过BM_MYSQL_ADMINPASS指定。那样,mysqldump可以验证到MySQL服务器,而不必在命令行以明文格式接受密码,那样会有安全风险。

通过cron运行备份管理器

一旦决定哪一天是进行每周备份的最佳日子(最佳时间),你可以让cron来为你运行备份管理器。

打开root的crontab文件(注意,你必须以root登录):

  1. # crontab -e

假定你想要在星期天的上午5:15分运行备份管理器,那么就添加下面这行。

  1. 15 05 * * 0 /usr/sbin/backup-manager > /dev/null 2>&1

小结

在本文中,我已经展示了备份管理器这个备份工具是怎样的简单而强大,并且易于使用。在你的备份策略中,你可能还有其它几个选项需要考虑,请参阅手册页或用户手册,里面也包含了几个部署实例和建议。

时间: 2024-11-09 22:46:38

Linux 上使用 backup-manager 进行系统备份的相关文章

在Linux上使用的10种云备份方案

在Linux上使用的10种云备份方案 导读 不久前,为用户提供一种备份远程机器上数据的简易方法还很稀奇.现在,我们已觉得这理所当然.Dropbox及其他公司简化了这项任务.苹果.谷歌和微软都提供各自的数据备份方法. 在Linux上,情况有点不一样.发行版并不提供各自的云服务来管理你的数据(不过Ubuntu过去拥有Ubuntu One).一些主流发行版并不提供尚可的Linux客户软件. 但是你并非不走运.许多流行的服务确实可以在Linux下使用.你还有办法可以部署自己的解决方案,对数据获得控制权.

Linux上基于网络自动化安装系统(CentOS6.5+DHCP+TFTP+PXE)

一.前言 安装系统常用的方式就是,光驱安装,U盘安装,但是这种手动安装方法效率都很低,而且出错概率大.现在网卡速率也都基本1000M,所以网络安装就显得更简单,把管理员从重复.繁琐的安装操作中解放出来.当然,这只是一个局域网内的实验配置,生产环境会有更专业的解决方案,但是这个原理都是一样的. 二.原理 本次实验用到的协议和技术有:    DHCP: Dynamic Host Configuration Protocol 动态主机配置协议    TFTP: Trivial File Transfe

在linux上用dd命令实现ghost功能

转自:http://blog.jobbole.com/90978/ ghost和g4l 安装操作系统,速度太慢,整个过程太冗长乏味了. 安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件.因为涉及到大量的文件定位和读写,速度一定是快不起来的. Windows下我们常常使用ghost系统来备份和刻录操作系统.ghost可以clone整个系统的镜像,然后在新的电脑上恢复,相当简单.用ghost系统安装操作系统比使用安装光盘安装系统要快捷多了,也不需要回答任何问题了. 那么,我

linux上nagios安装完整版

监控server端的安装部署一.apache的安装下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gztar xvf httpd-2.2.15.tarcd httpd-2.2.15./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-cgi --enable-rewrite --enable-deflate --with-mpm=wor

<转>linux上nagios安装完整版

监控服务器端的安装部署 一.apache的安装 下载httpd-2.2.15.tar.gz gunzip httpd-2.2.15.tar.gz tar xvf httpd-2.2.15.tar cd httpd-2.2.15 ./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=all --enable-cgi --enable-rewrite --enable-deflate --with-mpm=w

Linux系统备份策略详解

由于linux系统的特殊性,获取root用户权限后,很容易把系统搞崩溃,所以系统备份是一件不容忽视的大事.得益于linux系统自身的优越性,所以系统的备份和还原操作还是相对简单的. Linux系统所有的数据都以文件的形式存在,所以备份就是直接拷贝文件;硬盘分区也被当成文件,所以可以直接克隆硬盘数据. Linux系统自带很多实用工具,比如tar.dd.rsync等,备份还原系统不需要购买或下载第三方软件. Linux系统在运行时其硬盘上的文件可以直接被覆盖,所以还原系统的时候不需要另外的引导盘.

linux 系统备份和恢复

转自:http://blog.csdn.net/sunnylgz/article/details/8055315 在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统.Norton Ghost是备份Windows系统时经常使用的备份工具. 在备份Windows系统的时候你可能想过,我能不能把整个C盘都放

Linux系统备份与还原

转自:http://blog.csdn.net/sunnylgz/article/details/8055315 在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统.Norton Ghost是备份Windows系统时经常使用的备份工具. 在备份Windows系统的时候你可能想过,我能不能把整个C盘都放

LINUX 系统备份

系统备份是系统管理工作中十分重要的一个环切,本文详细介绍了各种Linux系统的备份方法,相信对大家的日常管理工作有所帮助. 备份是一项重要的工作,但是很多人没有去做.一旦由于使用不当造成数据丢失,备份就成了真正的救命者.本文将讨论设置备份的策略和如何选择备份介质,并介绍用于备份的tar,cpio,dump,dd工具.以及脚本的书写应用. 设置备份策略 备份开始前,要确定备份哪些数据.备份的频率和使用什么样的介质进行备份.备份的时候,应该进行完全备份. 备份通常安排在空闲时间进行.在大多数系统中,