企业级系统备份 BackupPC的配置与使用手册(1)
企业级系统备份 BackupPC的配置与使用手册(1)
这份指南将会协助你运用 CentOS testing 软件库内的 RPM 来设置 BackupPC。它不会详细地解释 BackupPC 所支持的一切设置。它亦会假设你会设置 BackupPC 通过 rsync 来进行备份。BackupPC 可支持 archive、tar、smb 及 rsyncd 的备份,但这份指南只会专注采用 rsync 的 Linux 主机。BackupPC 拥有论充足的文档关于设置方面的选项,这些指引亦收藏在它的网页界面中。另外,BackupPC 应该驻于一台专用的服务器上,因为 Apache 必须以系统上 BackupPC 用户的身份来执行,而这样会影响网页服务器的正常运作。
系统:CentOS 5.x
参考文件
[ http://backuppc.sourceforge.net/ ]
设置软件库
首先要做的事情就是将 CentOS testing 软件库连同 yum-priorities 插件一并安装。
# cd /etc/yum.repos.d # wget http://dev.centos.org/centos/5/CentOS-Testing.repo # yum install yum-priorities
请依从 wiki 内有关设置 [http://wiki.centos.org/zh/PackageManagement/Yum/Priorities?highlight=(yum)|(priorities)|yum-priorities] 的指引。如果你安装了 RPMFroge 的软件库,你必须确定所有 CentOS Base 项目的优先次序是 1,RPMForge 项目的优先次序是 2,而 CentOS testing 软件库的优先次序是 3。如果你并未安装 RPMForge 软件库,所有 Perl 组件将会下载自 testing 软件库,否则,它们将会来自 RPMForge。要设置 RPM 软件库,请依从 wiki 内有关 [软件库]的指引。
安装 BackupPC
接下来,请安装 BackupPC 的 RPM、Apache、及 mod_perl。Perl 所依赖的一切将会自动被收集起来。
# yum --enablerepo=c5-testing install backuppc httpd mod_perl
设置 Apache
如上述所提及,假若要一切正常地与 CGI 及 mod_perl 运作,Apache 的执行身份必须是安装 RPM 时在系统上所创建的 BackupPC 用户。请你现在就把合适的值设于 httpd.conf 内。
# vim /etc/httpd/conf/httpd.conf ## 更改 User apache 为 User backuppc User backuppc Servername backuppc.domain.com:80
存储并离开文件,然后更改被创建于 conf.d 目录下的 backuppc.conf 文件。
# vim /etc/httpd/conf.d/backuppc.conf ## 将 Allow from 127.0.0.1 改为 all Allow from all
存储并离开这个文件,然后创建你将会用来访问网页界面的用户及密码。
# htpasswd -c /var/lib/backuppc/passwd/htpasswd your_user New password: your_password Re-type new password: your_password Adding password for user your_user
最后,引导 Apache 并设置它于开机时引导。然后浏览你的机器并确定 Apache 可以派出测试页面。
# service httpd start # chkconfig httpd on
请浏览 http://你的服务器 并确定 Apache 能正常运作。
BackupPC 服务器设置
初次设置时,你必须在命令行上编辑数个参数,额外的你可以通过命令行或网页界面来完成。请打开 BackupPC 的主要配置文件,然后设置下列参数。TopDir 这个路径就是放置实际备份的地地。它的缺省值是 /var/lib/backuppc。我利用一个加密的分区来作备份,因此我的路径是 /srv/backuppc。请按你的需要修改它。
# vim /etc/BackupPC/config.pl ## BackupPC 缺省的传输方法。 $Conf{XferMethod} = 'rsync'; ## 备份数据存放位置的路径。 $Conf{TopDir} = '/var/lib/backuppc'; ## init.d 内用来引导服务器的路径。 $Conf{ServerInitdPath} = '/etc/init.d/backuppc'; $Conf{ServerInitdStartCmd} = '$sshPath -q -x -l root $serverHost$serverInitdPath start'; ## 你以 htpasswd 创建获授权的用户。 $Conf{CgiAdminUsers} = 'your_user';
设置 BackupPC Sudo
backuppc 这位用户须要拥有 sudo 权限来执行 gtar 及 tar 的指令。否则,BackupPC 便不能正确地运作。Sudo 应该已被安装在你的系统上,因此你可以通过 visudo 这个指令来作出所需的修改。
# visudo ## 注释掉 Defaults requiretty ## 加入以下两行。 Defaults !lecture backuppc ALL=NOPASSWD:/bin/gtar,/bin/tar
存储并离开这个文件,然后重新引导 Apache,引导 BackupPC 并设置它在开机时引导。
# service httpd restart # service backuppc start # chkconfig backuppc on
请打开你的浏览器并进到位于 http://你的服务器/backuppc 的 BackupPC 网页界面。你须要以先前创建的用户及密码来登录,然后你便会看见一版关于 BackupPC 服务器一般信息的页面。要不然,请重复你的步骤并确定 Apache 及 BackupPC 的设置皆正确。
BackupPC SSH 金钥
由于我们会专注以 rsync 进行备份,你也许会想为 backuppc 进程创建无须密码的金钥,让它能远程连接到需要备份的主机上。请以 root 的身份在 /var/lib/backuppc 内置立隐藏的 SSH 目录,继而修改权限。
# cd /var/lib/backuppc # mkdir .ssh # chown backuppc.backuppc .ssh # chmod 700 .ssh
接着,请改为 backuppc 这个用户。你须要指定一个指令壳,因为 backuppc 这位用户缺省是没有指令壳的。然后请利用 ssh-keygen 创建没有密码的 SSH 金钥。
# su -s /bin/bash backuppc bash-3.2$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/var/lib/backuppc/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /var/lib/backuppc/.ssh/id_dsa. Your public key has been saved in /var/lib/backuppc/.ssh/id_dsa.pub. The key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx backuppc@host.domain.name
评论暂时关闭