BackupPC服务器数据备份方案作者:th日期:2013-10-25企业服务器的数据都是非常重要的,为了确保安全,我们会做数据库备份,还要考虑应用数据及补丁备份,仅仅是本机备份是不够的,我们还要做异地备份。服务器备份软件很多,有Amanda、Bacula、Burp,这里,我们只讨论BackupPC来做备份服务器。BackupPC是Linux平台下一款非常灵活的开源备份工具,支持RSYNC、RSYNCD(Win平台使用,官方推荐)、SMB、SSH、NFS等多种传输工具,支持增量备份,可以跨目录树跨多次备份去重(md5验证,节省空间)等多种优点,支持web页面管理,有中文语言包。它工作在pull模式下,服务器主动从客户机爬数据。本文档工作环境:Centos6.4X86_64最小化安装BackupPC3.2(最新版本3.3,但是只有源码,为了稳定和方便,这里使用2.3)最小化安装后并没有wget、nano等下面提到的工具,可以自行安装,这里假设你会配置网络且熟悉简单的linux操作。[root@backup~]#yuminstallnanowgetBackupPC没有在Centos官方库中,我们使用第三方epel库,方法如下,根据自己的版本选择其一。##RHEL/CentOS632-Bit##[root@backup~]#wget[root@backup~]#wget[root@backup~]#rpm-ivhepel-release-6-8.noarch.rpm使用下面命令查看epel是否成功[root@backup~]#yumrepolistLoadedplugins:fastestmirror,prioritiesLoadingmirrorspeedsfromcachedhostfile*base:centos.ustc.edu.cn*epel:mirrors.hust.edu.cn*extras:mirror.esocc.com*updates:centos.ustc.edu.cnrepoidreponamestatusbaseCentOS-6-Base6,381epelExtraPackagesforEnterpriseLinux6-x86_649,824extrasCentOS-6-Extras13updatesCentOS-6-Updates1,400repolist:17,618使用下面命令安装BackupPC,目前只收入了3.2版本(官方已经有3.3版源码)[root@backup~]#yum--enablerepo=epelinstallBackupPC============================================================================PackageArchVersionRepositorySize============================================================================Installing:BackupPCx86_643.2.1-10.el6epel462kInstallingfordependencies:libtallocx86_642.0.7-2.el6base20klibtdbx86_641.2.10-1.el6base33kperl-CGIx86_643.51-131.el6_4updates208kperl-File-RsyncPx86_640.68-6.el6epel100kperl-Net-FTP-AutoReconnectnoarch0.3-3.el6epel11kperl-Net-FTP-RetrHandlenoarch0.2-3.el6epel16kperl-Time-modulesnoarch2006.0814-5.el6base38krsyncx86_643.0.6-9.el6base334ksamba-clientx86_643.6.9-151.el6_4.1updates11Msamba-commonx86_643.6.9-151.el6_4.1updates10Msamba-winbindx86_643.6.9-151.el6_4.1updates2.2Msamba-winbind-clientsx86_643.6.9-151.el6_4.1updates2.0MTransactionSummary============================================================================Install13Package(s)Totaldownloadsize:26MInstalledsize:93MIsthisok[y/N]:y##给backuppc设置账号和组,这里建议使用backuppc用户和组,不要修改##[root@backup~]#groupaddbackuppc[root@backup~]#useradd-gbackuppcbackuppc修改配置文件(我用的是nano编辑器,你也可以用vi)[root@backup~]#nano/etc/httpd/conf.d/backuppc.confIfModule!mod_authz_core.c#Apache2.2orderdeny,allowdenyfromallallowfromall#allowfrom127.0.0.1#allowfrom::1requirevalid-user/IfModuleApache的执行身份必须是安装BackupPC时在系统上所创建的backuppc用户####更改Userapache为Userbackuppc[root@backupBackupPC]#nano/etc/httpd/conf/httpd.confUserbackuppcGrupbackuppc建立用户验证文件##创建你将会用来访问网页界面的用户及密码##[root@backup~]#htpasswd-c/etc/BackupPC/apache.usersbackuppcNewpassword:Re-typenewpassword:Addingpasswordforuserbackuppc[root@backup~]#cd/etc/BackupPC/[root@backupBackupPC]#lsapache.usersconfig.plhosts最小化安装Centos6.4有ssh服务,但没有sshclients,通过下面命令安装,否则启动Backuppc服务会报/bin/ssh找不到。[root@backup~]#yuminstallopenssh-clients[root@backup~]#yumservicehttpdrestart[root@backup~]#yumservicebackuppcstart[root@backup~]#chkconfigbackuppcon[root@backup~]#chkconfighttpdon防火墙开启80端口,否则用户将无法通过浏览器访问WEB管理页面。#防火墙开启873端口,rsyncd与客户机传输文件需要用到该端口,如果你使用其他传输模式,根据实际情况设定。[root@backupBackupPC]#nano/etc/sysconfig/iptables##增加下面行-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT-AINPUT-mstate--stateNEW-mtcp-ptcp--dport873-jACCEPT##重启下服务[root@backupBackupPC]#/etc/init.d/iptablesrestart现在可以通过浏览器访问backuppc网页了,账号backuppc,密码是前面自定义的,虽然页面可以打开,但是没有管理选项,即不能添加备份机器,还需要配置以下内容:[root@backupBackupPC]#nano/etc/BackupPC/config.pl##BackupPC缺省的传输方法是rsync,本文这里测试的服务器是win2008,使用rsyncd。$Conf{XferMethod}='rsyncd';##备份数据存放位置的路径。$Conf{TopDir}='/var/lib/backuppc'##客户机需要备份的目录,这里是根据客户机(我这里是win2008)的rsyncd.conf来设定的,具体后面会有提到,我这里用data。$Conf{RsyncShareName}=data;##init.d内用来引导服务器的路径。$Conf{ServerInitdPath}='/etc/init.d/backuppc';$Conf{ServerInitdStartCmd}='$sshPath-q-x-lroot$serverHost$serverInitdPathstart';##你以htpasswd创建获授权的用户,我这里使用backuppc'。$Conf{CgiAdminUsers}='backuppc';##使用中文语言包#$Conf{Language}='en';$Conf{Language}='zh_CN';##备份日志会定期发送给backuppc用户,而没有域名的用户则是无效的邮箱。$Conf{EMailUserDestDomain}='@thit.net';##配置排除目录,以下目录将不在备份列表中$Conf{BackupFilesExclude}={#Installationfoldersandsystemdata'/RECYCLER','/MSOCache','/SystemVolumeInformation','/pagefile.sys'};##重启下服务[root@backup/]#/etc/init.d/backuppcrestartOK现在重新访问管理面页,可以看到更多管理选项卡了。客户端设置Win服务器下载cygwin-rsyncd最新版本下载安装完后,编辑文件c:\rsyncd\rsyncd.conf根据注释[docs]例子来增加下面代码,表示你要备份的目录和读取权限。Readonly=True即为只读,false为可读写,这里说明一下,备份只读权限即可,要还原/恢复要有写入权限。#这个[data]就是前面/etc/BackupPC/config.pl提到的客户机备份目录,要上下对应,根据实际情况设定:[data]path=/cygdrive/d/dbbackupcomment=dDriveBackUPstrictmodes=falseauthusers=backuppcsecretsfile=c:/rsyncd/rsyncd.secretshostsallow=*readonly=falselist=true#编辑文件c:/rsyncd/rsyncd.secrets修改连接服务器的用户和密码#UUU:PPPBackuppc:123456最后设置##这里添加服务器到hosts列表,使后面可以用域名访问服务器。[root@backup~]#nano/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalh