如何部署BackupPC备份服务?

BackupPC

1 基础知识

1.1 BackupPC的简介

– BackupPC是一款高性能企业级系统
– BackupPC用于将Linux、Windows和macOS PC和笔记本电脑备份到服务器磁盘
– BackupPC具有高度可配置性并且容易安装和维护

1.2 BackupPC特征

– BackupPC Web界面允许管理员查看日志、配置、当前状态且允许用户启动和取消备份以及从浏览器中恢复文件
– BackupPC具有重复数据删除功能,相同和不同PC重复的备份文件仅会存储一次(大量节省存储空间和IO)
– BackupPC只对新文件进行压缩,因此可以节省CPU时间
– BackupPC属于开源软件
– BackupPC不需要安装客户端

1.3 安装要求

– 建议使用具备大磁盘空间的LVM或RAID文件系统,CPU和磁盘性能决定你可以运行多少个备份(一般4-8个备份)
– Perl版本需要5.8.0或更高版本,需要安装Perl模块BackupPC::XS (version >= 0.50)以及 CGI Perl 模块
– Perl其他模块File::Listing, Archive::Zip, XML::RSS, JSON::XS, Net::FTP, Net::FTP::RetrHandle, Net::FTP::AutoReconnect
– 如使用rsync,则需要各节点安装rsync,BackupPC备份节点需要安装rsync-bpc
– 如需要smb备份BackupPC备份节点需要安装smbclient和nmblookup(备份Linux/unix DHCP也需要)
– 如使用tar备份Linux/unix服务器,应推荐使用1.13.20或更高版本
– 备份Apache Web服务器,推荐使用mod_perl支持构建
– 如果需要启用情况图表,需要安装rrdtool并配置“$Conf{RrdToolPath}”指向rrdtool的执行文件

2 最佳实践

2.1 系统环境配置

2.1.1 主机信息

ip address = 192.168.0.52
hostname = backuppc.cmdschool.org
OS = Oracle Linux Server 9.x

2.1.2 升级系统

dnf update -y

2.1.3 关闭SELinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

2.1.4 配置防火墙

firewall-cmd --permanent --add-service http --add-service https
firewall-cmd --reload
firewall-cmd --list-all

2.1.5 安装辅助工具包

dnf install -y net-tools bind-utils vim

2.2 安装配置BackupPC服务

2.2.1 安装BackupPC

dnf install -y oracle-epel-release-el9
dnf install -y BackupPC BackupPC-XS rsync-bpc

2.2.2 启动BackupPC服务

systemctl start backuppc.service
systemctl status backuppc.service
systemctl enable backuppc.service

2.2.3 修改BackupPC的服务器配置

cp /etc/BackupPC/config.pl /etc/BackupPC/config.pl.default
vim /etc/BackupPC/config.pl

修改如下配置,

$Conf{XferMethod} = "rsync";
$Conf{CgiAdminUsers}     = 'admin';
$Conf{TopDir}     = '/data/BackupPC/';

根据以上配置的需求,我们需要手动准备如下目录,

mkdir -p /data/BackupPC
mv /var/lib/BackupPC/* /data/BackupPC/
chown backuppc: /data/BackupPC
chmod 750 /data/BackupPC

配置修改后,你需要重载服务使配置生效,

systemctl reload backuppc.service

2.3 安装配置Apache服务

2.3.1 安装Apache

dnf install -y httpd mod_perl

安装完成后,你可以使用如下命令确认安装程序的版本,

httpd -v

可见如下显示,

Server version: Apache/2.4.53 (Oracle Linux Server)
Server built:   May 16 2023 00:00:00

2.3.2 启动服务并设置自启动

systemctl start httpd.service
systemctl status httpd.service
systemctl enable httpd.service

2.3.3 修改Apache配置

cp /etc/httpd/conf.d/BackupPC.conf /etc/httpd/conf.d/BackupPC.conf.default
vim /etc/httpd/conf.d/BackupPC.conf

由于Apache的版本号是2.4.5,因此我们修改对应版本号的配置,详细修改如下,

<IfModule mod_authz_core.c>
  # Apache 2.4
  <RequireAll>
    Require valid-user
    <RequireAny>
      #Require local
      Require all granted
    </RequireAny>
  </RequireAll>
</IfModule>

根据配置的需求,你需要执行如下命令配置管理员的账号和密码,

htpasswd -c /etc/BackupPC/apache.users admin

配置向导如下,

New password: adminpwd
Re-type new password: adminpwd
Adding password for user admin

配置修改后,你需要重载服务使配置生效,

systemctl reload httpd.service

2.4 测试服务访问

http://192.168.0.52/backuppc
User Name: admin
password: adminpwd
使用以上信息登录后,你可以见到如下界面,

2.5 配置公钥认证

如何配置BackupPC的公钥认证?

2.6 增加备份主机

如何增加BackupPC的备份主机?

====================
github首页
————
https://backuppc.github.io/backuppc/

在线文档
————–
https://backuppc.github.io/backuppc/BackupPC.html

centOS官方文档
—————-
https://wiki.centos.org/HowTos(2f)BackupPC.html

非官方文档
—————
https://kifarunix.com/install-and-configure-backuppc-on-centos-8/?expand_article=1

没有评论

发表回复

BackupPC
如何设置BackupPC的备份排除目录?

1 前言 一个问题,一篇文章,一出故事。 笔者部署BackupPC后,备份主机成功添加后发现排除目录 …

BackupPC
如何增加BackupPC的备份主机?

1 前言 一个问题,一篇文章,一出故事。 笔者部署BackupPC后,需要往BackupPC服务器中 …

BackupPC
如何配置BackupPC的公钥认证?

1 前言 一个问题,一篇文章,一出故事。 笔者部署BackupPC后,需要允许BackupPC备份服 …