在本指南中,我们将学习如何在 Rocky Linux 8 上安装和配置 BackupPC。 BackupPC 是一个高性能的企业级备份软件套件,具有基于 Web 的前端,可用于备份 Linux、Windows 和 mac OSX PC 和笔记本电脑到服务器的磁盘。
BackupPC 的一些功能包括:
- 提供了一个 网页界面 它允许管理员查看日志文件、配置、当前状态,并允许用户启动和取消备份以及浏览和从备份中恢复文件。
- 它支持 重复数据删除:相同或不同 PC 的多个备份中的相同文件仅存储一次,从而大大节省了磁盘存储和磁盘 I/O。
- 它支持数据 压缩:由于只有新文件(尚未合并)需要压缩,因此对 CPU 时间的影响不大。
- 这是 开源:BackupPC 托管在 Github 上,并在 GPL 许可下分发。
- 不需要客户端软件。
在关于 BackupPC 页面上阅读有关 BackupPC 功能的更多信息。
在 Rocky Linux 8 上安装和配置 BackupPC
运行系统更新
更新您的系统包。
dnf update
在 Rocky Linux 8 上安装 BackupPC
BackupPC 4 在 EPEL 存储库上可用。 因此,通过运行命令在 Rocky Linux 8 上安装 EPEL 存储库;
dnf install epel-release
EPEL 存储库提供了 BackupPC 4.3.2,这是撰写本文时的当前稳定版本。
dnf info backuppc
Available Packages Name : BackupPC Version : 4.4.0 Release : 1.el8 Architecture : x86_64 Size : 489 k Source : BackupPC-4.4.0-1.el8.src.rpm Repository : epel Summary : High-performance backup system URL : https://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.
另外,启用 PowerTool Repos;
dnf config-manager --set-enabled powertools
您可以通过执行以下命令简单地安装 BackupPC 及其所有必需的依赖项;
dnf install -y backuppc
在 Rocky Linux 8 上配置 BackupPC 服务器
定义 BackupPC 备份协议
BackupPC 支持不同的协议来从被备份的设备中获取备份数据:
- 中小企业 – 用于备份 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
备份协议,确保 同步 已安装 在正在备份的客户端上 并且为参数定义了正确的路径, $Conf{RsyncClientPath
.
您可以使用以下命令找到 rsync 的绝对路径 which
命令。
which rsync
/usr/bin/rsync
因此,客户端路径应该设置为:
$Conf{RsyncClientPath} = "/usr/bin/rsync";
还要确保备份传输方法, $Conf{XferMethod
, 对于客户端设置为 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 管理用户
BackupPC 的默认管理用户在 CGI 用户界面配置设置部分下定义。 普通用户只能访问特定于其主机的信息。 他们还可以启动/停止/浏览/恢复备份。 管理用户拥有对所有主机的完全访问权限,以及总体状态和日志信息。
在这个演示中,我们设置了 kifarunixadmin
用户作为 BackupPC admin.
$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 xfs defaults 1 2
相应地更新文件系统。
Save 并退出文件。
配置备份PC Apache 验证
备份PC用途 Apache 默认情况下作为 Web 服务器,它与 BackupPC 本身一起安装。 它还通过以下方式实现对 BackupPC Web 界面的限制访问 Apache 基本认证。
因此,您可以打开 BackupPC Apache 配置, /etc/httpd/conf.d/BackupPC.conf
,这是默认创建的并进行您喜欢的更改。 例如,这些是我们所做的一些更改, AuthUserFile
和 AuthName
.
vim /etc/httpd/conf.d/BackupPC.conf
... AuthType Basic AuthUserFile /etc/BackupPC/.backuppc AuthName "Kifarunix BackupPC Restricted Access" <IfModule mod_authz_core.c> ...
要允许外部访问 BackupPC,请更改行, Require local
到 Require all granted
.
... <IfModule mod_authz_core.c> # Apache 2.4 <RequireAll> Require valid-user <RequireAny> #Require local Require all granted </RequireAny> </RequireAll> </IfModule> ...
Save 并退出配置文件。
创建 BackupPC 身份验证用户和密码,并将它们存储在由值指定的文件中 AuthUserFile
上面的参数。
例如,要创建名为的 Web 身份验证用户 kifarunixadmin
;
htpasswd -c /etc/BackupPC/.backuppc kifarunixadmin
您可以添加另一个用户,例如 kifarunixuser
.
htpasswd /etc/BackupPC/.backuppc kifarunixuser
调整auth用户文件的权限;
chmod 666 /etc/BackupPC/.backuppc
更改用户 Apache 运行从 apache
到 backuppc
并将该组保留为 apache
;
vim /etc/httpd/conf/httpd.conf
... 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; disabled; vendor preset: disabled) Active: active (running) since Tue 2021-07-06 20:38:48 EAT; 4s ago Main PID: 20269 (BackupPC) Tasks: 1 (limit: 23673) Memory: 9.6M CGroup: /system.slice/backuppc.service └─20269 /usr/bin/perl /usr/share/BackupPC/bin/BackupPC Jul 06 20:38:48 elk.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
确保 Apache Web 服务器正在运行之前,您可以访问 BackupPC Web 界面。
您现在可以通过 URL 访问 BackupPC https://server_IP_OR_hostname/backuppc
.
进行身份验证并进入 BackupPC Web 仪表板。
BackupPC 网络仪表板。
如果您以非身份验证到 BackupPC Web 界面 admin 用户,例如, kifarunixuser
在这个演示中,你可以看到这样一个界面。
您已经成功安装了 BackupPC 4.4.0 这使我们到了如何在 Rocky Linux 8 上安装和配置 BackupPC 的指南的结尾。
参考
在文档页面上阅读更多 backuppc。
BackupPC 文档:安装 BackupPC
您还可以从仪表板访问文档。
在接下来的指南中,我们将学习如何使用 BackupPC 服务器备份 Linux 系统。
使用 BackupPC 通过 SMB 备份 Windows 系统
使用 Rsyncd 使用 BackupPC 备份 Windows 系统
在 Debian 10 上安装和配置 BackupPC
如何在 Ubuntu 18.04 上安装和配置 BackupPC 作为备份服务器