开源Linux、Windows服务器数据备份工具选型分析(三) BackupPC

备份工具总结见文章末尾

BackupPC

1、简介

BackupPC是一款高性能的企业级系统,用于将Linux、WinXX和MacOSX pc和笔记本电脑备份到服务器的磁盘上。BackupPC高度可配置,易于安装和维护。

以上内容来自Github上 BackupPC的简介

项目地址

2、安装服务端

我安装的版本为BackupPC-4.4.0
2.1 安装前准备

  • 启用epel-release repo
yum --enablerepo=extras -y install epel-release
  • 安装BackupPC-XS and rsync-bpc
yum --enablerepo=epel-testing -y install BackupPC-XS rsync-bpc
  • 安装以下依赖
yum -y install bzip2 httpd mod_perl par2cmdline perl-Archive-Zip perl-CGI \
perl-Compress-Raw-Zlib perl-Data-Dumper perl-Digest-MD5 perl-File-Listing \
perl-File-RsyncP perl-Net-FTP-AutoReconnect perl-Net-FTP-RetrHandle \
perl-Time-ParseDate perl-XML-RSS perl-version rrdtool samba-client
  • 创建安装路径
#BackupPC的安装路径,也是存储数据的路径,挑选最大的盘创建
mkdir -p /home/server/backuppc
# 存储web界面的路径
mkdir -p /var/www/html/backuppc
#cgi-bin路径
mkdir -p /var/www/cgi-bin/backuppc
  • 创建并设置BackupPC用户
#创建BackupPC用户组
groupadd backuppc
#创建BackupPC用户并设置家目录
useradd --home-dir /home/backuppc --create-home --shell /bin/bash --base-dir /home/backuppc --gid backuppc backuppc
  • 更改文件夹权限(将BackupPC安装目录及backuppc用户家目录所属用户和组改为backuppc)
chown -R backuppc:backuppc /home/server/backuppc
chown -R backuppc:backuppc /home/backuppc

2.2 下载
有两种方法下载BackupPC安装包

cd /data/git

(1) 有git的话,使用git clone

git clone git://github.com/backuppc/backuppc.git
cd backuppc

##git安装
yum install -y git

关于为什么使用"git://" 而不是"https://"(毕竟git官方给的是"https"头),原因见下面链接
git clone error: RPC failed; result=52, HTTP code = 0 fatal: The remote end hung up unexpectedly

在这里插入图片描述

(2)没有git的话,使用wget下载后解压

#下载
wget https://github.com/backuppc/backuppc/releases/download/4.4.0/BackupPC-4.4.0.tar.gz
#解压
tar -xzvf BackupPC-4.4.0.tar.gz
#进入安装包
cd backuppc-4.4.0
##wget 安装
yum install -y wget

2.3 运行configure.pl脚本
方法一:命令行设置

#路径修改为实际设置的路径
perl configure.pl --batch --cgi-dir /var/www/cgi-bin/backuppc \
--data-dir /home/TDserver/backuppc --hostname backuppc --html-dir /var/www/html/backuppc \
--html-dir-url /backuppc --install-dir /opt/backuppc

方法二:直接运行configure.pl。它会在运行过程中引导安装

perl configure.pl

报错及解决:
运行configure.pl脚本时报错:
在这里插入图片描述
这表明之前使用yum安装的BackupPC-XS插件不是最新版本,和BackupPC4.4.0不适配,需要手动安装最新的BackupPC-XS,即BackupPC-XS0.62,安装步骤如下:

#删除旧版本BackupPC-XS
yum remove BackupPC-XS
#下载安装gcc
yum install -y gcc gcc++
#下载BackupPC-XS0.62
git clone https://github.com/backuppc/backuppc-xs.git
#编译安装
perl Makefile.PL
make
make install

之后即可编译安装BackupPC4.4.0
在这里插入图片描述

2.4 配置apache

  • 复制Apache的配置文件至配置文件目录:
cp httpd/BackupPC.conf /etc/httpd/conf.d/

注意:该文件包含“deny from all”和“allow from 127.0.0.1”。这表示只能使用localhost访问,可以自行选择是否更改此配置。我注释了这两行,并新增了一行“allow from all”。
Require local部分也需要改成Require all granted
在这里插入图片描述

  • 设置运行Apache的用户
vim /etc/httpd/conf/httpd.conf

将User apache 改为User backuppc
将Group apache 改为Group backuppc

:%s#User apache#User backuppc#g
:%s#Group apache#Group backuppc#g

在这里插入图片描述

github的用户手册上说此Apache用来做其他用途的话可能会破坏一些东西,所以最好这个Apache只用来部署backuppc,有其他用途可以另外搭建一个

2.5 系统服务与开机自启

cp systemd/backuppc.service /etc/systemd/system/
systemctl daemon-reload
systemctl start backuppc
systemctl enable backuppc

2.6 创建backuppc认证文件

#设置用户名为backuppc(可以自行设置)
htpasswd -c /etc/BackupPC/BackupPC.users backuppc
#输入密码并确认
#更改认证文件权限
chown backuppc:backuppc /etc/BackupPC/BackupPC.users

2.7 编辑配置文件

vim /etc/BackupPC/config.pl
#检查图像目录和图像url变量
$Conf{CgiImageDir} = '/var/www/html/backuppc';
$Conf{CgiImageDirURL} = '/backuppc';
#添加管理用户backuppc
$Conf{CgiAdminUserGroup} = 'backuppc';
$Conf{CgiAdminUsers}     = 'backuppc';
#设置web界面语言为中文
$Conf{Language} = 'zh_CN';

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.8 启动并访问

systemctl start httpd
systemctl enable httpd

访问ip+/BackupPC_Admin 即可进入前端页面
如我访问的是 http://10.200.9.235/BackupPC_Admin
使用2.6中设置的用户名和密码登录即可访问

注意,一定要关闭selinux,否则主机无法添加
临时关闭 命令行输入 setenforce 0
如需要永久关闭,vim /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled即可

在这里插入图片描述

3、客户端配置

3.1 Windows安装rsync

  • 下载rsyn模拟器DeltaCopy
    下载地址 DeltaCopy

  • 解压安装包后,双击exe文件进行安装

  • 安装完成后运行,点击Virtual Directoried,设置需要备份的文件的路径、用户名及密码
    在这里插入图片描述

  • 点击Server Status,点击Register Windows Service 按钮进行注册安装

在这里插入图片描述

  • 输入账号密码,我这里选择了Use Local Service Account,若想选择别的账号,需要事先在服务器上创建相应账号并设置密码
    在这里插入图片描述
  • 点击Start Server即可。
    在这里插入图片描述

3.2 Linux客户端免密设置

$ mkdir /var/lib/BackupPC
$ cd /var/lib/BackupPC
$ mkdir .ssh
$ chown backuppc.backuppc .ssh
$ chmod 700 .ssh
$ su -s /bin/bash backuppc
$ ssh-keygen -t rsa
$ ssh-copy-id root@10.200.9.123

4、测试

4.1备份windows服务器的数据

  • 添加客户机

进入服务端web界面,点击增删客户机,将刚才进行设置的客户端的IP和用户名添加进去后,点击保存
在这里插入图片描述

  • 设置备份路径

左上角选择客户机,选择修改服务器配置,点击传输,XferMethod选择rsyncd,RsyncShareName处填写DeltaCopy服务端设置的Existing Directorie,BackupFilesOnly 写为 * (“ * ”是代表备份RsyncShareName下的所有文件),RsyncUserName和RsyncdPasswd中填写在DeltaCopy服务端设置的账户密码,如果要改默认配置,必须勾选替换旁边的方框,点击保存

在这里插入图片描述

  • 点击客户端主页,选择开始完全备。等待一会,备份完成

在这里插入图片描述

  • 查看
    点击浏览备份可以看到备份后的数据
    在这里插入图片描述
  • 恢复备份
    在浏览备份中选中需要恢复的数据,点击恢复被选择的数据,进入到恢复界面,选择需要恢复的方式(选择直接恢复,需要更改恢复路径,负责会覆盖原有数据),然后点击开始恢复
    在这里插入图片描述

等待一会,恢复完成,可以在客户端响应目录看到被恢复的数据
在这里插入图片描述

4.2备份Linux服务器

  • 添加节点(同windows)

  • 修改客户机备份设置RsyncShareName直接填写路径,点击保存然后备份即可
    在这里插入图片描述

  • 备份恢复和windows一样

5、优缺点

缺点
1、内网第一次备份windows服务器的4GB数据备份了7m10s,平均9.5MB/s,内网第一次备份linux服务器的17GB数据备份了10m12s,平均28.4MB/s。备份速度远小于Syncthing。
2、备份反应慢,添加服务器后要等待半个小时或一个小时,才能成功进行备份,否则会一直显示备份失败。
3、安装比较麻烦,github上的手册不是最新的,导致按照旧的手册安装服务端会报错,还要更新插件。
4、虽说不需要安装客户端即可使用,但是因为需要用到sync,所以windows系统要备份,需要先安装sync工具,而github上的安装和使用教程并不详细。
5、服务端仅有linux系统的,没有windows的
6、中文官网域名挂了好几天了,也没人管,是已经不维护了吗
在这里插入图片描述
在这里插入图片描述

优点
1、有web界面,操作方便
2、可以设置定时备份
3、可以全量备份,也可以增量备份
4、因为使用的人数较多,所以有很多资料可以参考

6、总结

我其实进行了很多备份工具的测试,但是有的是完全搭建不起来,报错一大堆,有的是连资料都找不到,有的是好几年都不维护更新了,还有的只支持一种操作系统。所以最终能选出的备份软件就三个:Urbackup、Syncthing和backuppc。其中Syncthing虽然只是一个同步工具,而不是专业备份工具(测试过程中配置没弄好,删掉服务端的数据时还同步把我客户端的数据也删了)

在这里插入图片描述

但是!Syncthing搭建方便,Windows、Linux、MacOS、Android的服务端和客户端都有,web页面操作简单,既可以用来做服务器数据的备份,也可以用来做手机文件的备份,还可以做网盘使用,关键是传输速度相对较快,还可以定时备份,所以使用感hi比较好。
我跟人会更喜欢Syncthing一点。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值