无论简单与否,我们有机会了解到这样一个东西,那就是备份的重要性永远不能被低估。考虑到有如此多的备份方法,您可能想知道如何有效地为您的系统选择正确的工具和正确的策略。在本文中,我将向您介绍backup-manager,这是一个易于使用的命令行备份工具,可以在大多数Linux发行版的标准软件存储库中找到。是什么让备份管理器从众多备份工具或备份策略中脱颖而出?让我简单介绍一下它的一些与众不同的特点:简单的设计和管理:配置文件易于阅读和编辑,即使对于初学者也是如此。一劳永逸:配置后可以通过cron定期运行。支持多种协议远程备份:无缝集成多种传输协议、应用程序和云后端(如FTP、SCP、SSH-GPG、rsync、AWSS3等),将生成的归档包传输到一组远程主机。支持数据库备份:包括支持MySQL/MariaDB和PostgreSQL数据库的开箱即用备份。支持加密:在备份过程中支持基于GPG文件的加密。在Linux上安装备份管理器备份管理器的安装既快速又轻松,因为它包含在大多数Linux发行版的基本软件存储库中。Debian、Ubuntu及其衍生产品#aptitudeinstallbackup-manager在基于Debian的系统上安装时,系统会提示您输入要存储备份档案的目录。如果所选目录不存在,当您***运行备份管理器时将自动创建它。选择确定并按Enter。在下一步中,系统会要求您提供要备份的所有目录(以空格分隔)。建议但不严格要求在同一父目录中列出多个子目录,而不是只进入父目录。您可以跳过此步骤,稍后在配置文件中设置BM_TARBALL_DIRECTORIESb变量。否则,添加任意数量的目录并选择确定:Fedora或CentOS/RHEL#yuminstallbackup-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文件并编辑以下变量。如果你愿意,你可以忽略那些以#开头的行。在本文中,它只是使用说明的注释:#指定将使用的备份方法。#tarball:获取目录列表并构建相应的tarball。#mysql:使用mysqldump归档MySQL数据库。要恢复数据库,您#需要手动使用相同的工具。exportBM_ARCHIVE_METHOD="tarballmysql"#存储备份的位置。exportBM_REPOSITORY_ROOT="/var/archives"#以下指令指示备份管理器命名#在备份目录之后生成的文件。exportBM_TARBALL_NAMEFORMAT="long"#定义生成文件的压缩类型。exportBM_TARBALL_FILETYPE="tar.gz"#列出要备份的目录。exportBM_TARBALL_DIRECTORIES="/etc/home/var/log"#排除一些子目录或文件扩展名。exportBM_TARBALL_BLACKLIST="/var/log/myotherapp.log*.mp3*.mp4"#列出要备份的数据库,以空格分隔。出口BM_MYSQL_DATABASES="mysqlmybasewordpressdotclearphpbb2"#MySQLusername.exportBM_MYSQL_ADMINLOGIN="root"#MySQLpasswordforusername.exportBM_MYSQL_ADMINPASS="mypassword"#添加对DROP语句的支持(可选).exportBM_MYSQL_SAFEDUMPS="true"#主机名或数据库所在的IP地址。exportBM_MYSQL_HOST="localhost"#MySQL服务器侦听的端口。exportBM_MYSQL_PORT="3306"#压缩类型(可选)。exportBM_MYSQL_FILETYPE="gzip"#不要归档远程主机,butonlylocalhost.BM_TARBALL_OVER_SSH="false"#SSHupload.export的用户帐户BM_UPLOAD_SSH_USER="root"#用于无密码SSH登录的用户私钥的绝对路径.exportBM_UPLOAD_SSH_KEY="/root/.ssh/id_rsa"#Remote主机(确保您已将公钥导出给它们):exportBM_UPLOAD_SSH_HOSTS="dev1dev3"#Remotedestination用于上传备份。如果不存在,#第一次会自动创建这个目录#backup-managerruns.exportBM_UPLOAD_SSH_DESTINATION="/var/archives/backups/$HOSTNAME"手动运行backup-manager如果要安装电脑,请输入以下命令。您也可以选择添加'-v'标志来逐步详细检查运行过程。#backup-managerBM_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身份登录):#crontab-e假设您想在周日早上5:15运行备份管理器,添加以下行。1505**0/usr/sbin/backup-manager>/dev/null2>&1总结在本文中,我展示了BackupManager备份工具如何简单、强大且易于使用。在备份策略中,您可能还有其他几个选项需要考虑,请参阅手册页或用户手册,其中还包含几个部署示例和建议。希望这篇文章对您有所帮助,欢迎在下方提出问题和评论。via:http://xmodulo.com/linux-backup-manager.html作者:GabrielCánepa译者:GOLinux校对:wxy
