在CentOS 8上安装和配置BackupPC

在本指南中,我们将学习如何在CentOS 8上安装和配置BackupPC。 备份电脑 是具有基于Web的前端的高性能企业级备份软件套件,可用于将Linux,Windows和Mac OSX的PC和便携式计算机备份到服务器磁盘。

BackupPC的某些功能包括:

  • 提供一个 网络界面 它允许管理员查看日志文件,配置,当前状态,并允许用户启动和取消备份以及浏览和还原备份中的文件。
  • 它支持 重复数据删除:同一或不同PC的多个备份中的相同文件仅存储一次,从而大大节省了磁盘存储和磁盘I / O。
  • 它支持数据 压缩:由于仅需要压缩新文件(尚未合并),因此对CPU时间的影响很小。
  • 它是 开源的:BackupPC托管在 Github,并根据GPL许可进行分发。
  • 不需要客户端软件。

进一步了解BackupPC功能 关于BackupPC 页。

在CentOS 8上安装和配置BackupPC

运行系统更新

更新系统软件包。

dnf update

在CentOS 8上安装BackupPC

在EPEL仓库中可以使用BackupPC 4。因此,通过运行以下命令在CentOS 8上安装EPEL仓库:

dnf install epel-release

EPEL仓库提供了BackupPC 4.3.2,它是本文撰写时的当前稳定版本。

dnf info backuppc
Available Packages
Name         : BackupPC
Version      : 4.3.2
Release      : 1.el8
Architecture : x86_64
Size         : 479 k
Source       : BackupPC-4.3.2-1.el8.src.rpm
Repository   : epel
Summary      : High-performance backup system
URL          : http://backuppc.github.io/backuppc/index.html
License      : GPLv2+
Description  : BackupPC is a high-performance, enterprise-grade system for backing up Linux
             : and WinXX and Mac OS X PCs and laptops to a server's disk. BackupPC is highly
             : configurable and easy to install and maintain.
             : 
             : NOTE: Proper configuration is required after install, see README.setup for more
             : information.

因此,您只需执行以下命令即可安装BackupPC及其所有必需的依赖项;

dnf install -y backuppc

在CentOS 8上配置BackupPC服务器

定义BackupPC备份协议

BackupPC支持不同的协议,可从正在备份的设备中获取备份数据:

  • smb –用于备份Windows计算机
  • 柏油 –用于备份Linux / Unix / Mac OSX系统
  • 同步 –用于备份Linux / Unix / Mac OSX系统。这也可以用于备份Windows系统。

它还支持使用 ftp 协议。但是,建议不要使用FTP。

要定义您首选的BackupPC备份协议,请打开BackupPC配置文件, /etc/BackupPC/config.pl 并导航到要使用的特定备份协议的部分。

vim /etc/BackupPC/config.pl

例如,Rsync {d}协议配置部分始于;

...
###########################################################################
# Rsync/Rsyncd Configuration
# (can be overwritten in the per-PC log file)
###########################################################################
...

并在FTP配置开始的地方结束;

...
...
###########################################################################
# FTP Configuration
# (can be overwritten in the per-PC log file)
##########################################################################
...

使用 rsync 用于备份的协议,请确保在要备份的客户端上安装了rsync,并为该参数定义了正确的路径, $Conf{RsyncClientPath

您可以使用找到rsync的绝对路径 which 命令。

which rsync
/usr/bin/rsync
$Conf{RsyncClientPath} = "/usr/bin/rsync";

同时确保备份传输方式, $Conf{XferMethod,因为客户端设置为 rsync

定义BackupPC客户端备份用户

默认情况下,BackupPC使用备份客户端上的root用户进行备份。

$Conf{RsyncSshArgs} = [
        '-e', '$sshPath -l root',
];

允许通过低特权用户进行备份更加安全。在此演示中,我们将创建一个非特权用户, backuppc,在每个客户端上进行备份 which is only allowed to run rsync command with sudo rights 用于备份。因此,相应地更改此用户。

$Conf{RsyncSshArgs} = [
        '-e', '$sshPath -l backuppc',
];

我们将使用默认选项保留其他Rsync设置。请注意,所有这些都可以通过每PC配置重写。

配置BackupPC管理用户

在“ CGI用户界面配置设置”部分中定义了BackupPC的默认管理用户。普通用户只能访问特定于其主机的信息。他们还可以开始/停止/浏览/还原备份。管理用户具有对所有主机的完全访问权限,以及总体状态和日志信息。在此演示中,我们将 kifarunixadmin 用户作为BackupPC管理员。

$Conf{CgiAdminUsers}     = 'kifarunixadmin';

更改备份数据目录

默认情况下,BackupPC将备份数据写入/ var / lib / BackupPC目录。

$Conf{TopDir}      = '/var/lib/BackupPC/';

例如,以防万一您需要更改将备份数据存储到外部硬盘驱动器的位置,建议不要更改TopDir路径,而是创建指向新位置的符号链接,或者将新的BackupPC存储安装在现有的$ Conf {TopDir }路径。

例如,假设您有一个空驱动器/ dev / sdb1(如本例所示),则只需将其安装在下面, /var/lib/BackupPC/

mount /dev/sdb1 /var/lib/BackupPC/

要在引导时自动挂载,请使用以下行的条目更新/ etc / fstab;

/dev/sdb1 /var/lib/BackupPC ext4 defaults 1 2

相应地更新文件系统。

配置BackupPC Apache身份验证

默认情况下,BackupPC使用Apache作为Web服务器,并且它与BackupPC本身一起安装。它还通过Apache基本身份验证实现对BackupPC Web界面的受限访问。

因此,您可以打开BackupPC Apache配置, /etc/httpd/conf.d/BackupPC.conf,这是默认创建的,并进行您的首选更改。例如,这些是我们所做的一些更改, AuthUserFileAuthName

vim /etc/httpd/conf.d/BackupPC.conf
...
AuthType Basic
AuthUserFile /etc/BackupPC/.backuppc
AuthName "Kifarunix BackupPC Restricted Access"


...

要允许外部访问BackupPC,请更改行, Require localRequire all granted

...

  # Apache 2.4
  
    Require valid-user
    
      #Require local
      Require all granted
    
  

...

保存并退出配置文件。

创建BackupPC身份验证用户和密码,并将其存储在由密码的值指定的文件中 AuthUserFile 上面的参数。例如,创建名为 kifarunixadmin;

htpasswd -c /etc/BackupPC/.backuppc kifarunixadmin

调整认证用户文件的权限;

chmod 666 /etc/BackupPC/.backuppc

将Apache用户设置为 backuppc 并离开组为 apache;

...
User backuppc
Group apache
...

禁用Apache欢迎页面;

mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.old

禁用目录列表;

sed -i 's/Options Indexes FollowSymLinks/Options -Indexes +FollowSymLinks/' /etc/httpd/conf/httpd.conf

检查Apache是​​​​否有任何错误;

httpd -t
Syntax OK

启动并启用Apache以在系统启动时运行;

systemctl enable --now httpd

运行BackupPC

完成配置后,启动并启用BackupPC以在系统启动时运行;

systemctl enable --now backuppc

检查状态;

systemctl status backuppc
● backuppc.service - BackupPC server
   Loaded: loaded (/usr/lib/systemd/system/backuppc.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-03-28 18:21:28 EAT; 21s ago
 Main PID: 10186 (BackupPC)
    Tasks: 1 (limit: 11499)
   Memory: 8.8M
   CGroup: /system.slice/backuppc.service
           └─10186 /usr/bin/perl /usr/share/BackupPC/bin/BackupPC

Mar 28 18:21:28 vpnr.kifarunix-demo.com systemd[1]: Started BackupPC server.

您还可以使用以下命令验证BackupPC是否正在运行 BackupPC_serverMesg。所有BackupPC程序均应以BackupPC用户身份运行,即 backuppc 默认情况下,如 $Conf{BackupPCUser} 参数。

backuppc用户外壳程序设置为 /sbin/nologin 默认情况下,要以backuppc用户身份运行BackupPC程序,请参阅以下命令的运行方式。

sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg status info
sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg status hosts
sudo -u backuppc /usr/share/BackupPC/bin/BackupPC_serverMesg status jobs

根据BackupPC文档,如果这些命令的输出不是“look cryptic and confusing, and the output doesn't look like an error message, then all is ok”。

访问BackupPC Web用户界面

要从浏览器访问BackupPC,如果启用了防火墙,则首先需要在防火墙上允许Apache外部访问。

firewall-cmd --add-service={http,https} --permanent
firewall-cmd --reload

您现在可以通过URL访问BackupPC http://server_IP_OR_hostname/backuppc

进行身份验证并转到BackupPC Web仪表板。

BackupPC Web仪表板。

在CentOS 8上安装和配置BackupPC

您已经成功安装了BackupPC 4.3.2,这使我们进入了如何在CentOS 8上安装和配置BackupPC的指南的结尾。

在接下来的指南中,我们将学习如何使用BackupPC服务器备份Linux系统。

参考

BackupPC文档:安装BackupPC

Sidebar