基本介绍
BackupPC是一种高性能的企业级系统,用于将Linux,Windows和macOS PC和便携式计算机备份到服务器磁盘。 BackupPC是高度可配置的,并且易于安装和维护。
特点:
-
Web interface Web界面使管理员可以查看日志文件,配置,当前状态,并允许用户启动和取消备份以及浏览和还原备份中的文件。
-
Data deduplication 重复数据删除:同一或不同PC的多个备份中的相同文件仅存储一次,从而大大节省了磁盘存储和磁盘I / O。 这里的相同文件删除, 啥文件算是相同的,要是仅仅同名就删除可坏菜了
-
Compression 由于仅需要压缩新文件(尚未合并),因此对CPU时间的影响不大。
-
Open-source BackupPC托管在Github上,并根据GPL许可证进行分发。
-
No client-side software is needed.
Installing BackupPC 4 from tarball on CentOS 7
安装的backuppc的版本是4.3.1。(自己装着玩的用了3台虚拟机)。
- Enable the epel-release repo.
yum --enablerepo=extras -y install epel-release
- Install BackupPC-XS and rsync-bpc
yum --enablerepo=epel-testing -y install BackupPC-XS rsync-bpc
- Install the following requisites for BackupPC version 4.3.1
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
- Lets set up some directories that we are going to use later.
这个地方我在一台机器上创建的需要的文件夹。底下是原作者讲的话(我的backuppc服务器在/ data0 /上安装了raid6阵列。 我将使用它来存储backuppc的数据。 让我们在团队中创建backuppc文件夹。 注意:此文件夹可能会变得很大。)
mkdir -p /data0/backuppc
为BackupPC创建一个文件夹来存储一些Web界面文件。
mkdir -p /var/www/html/backuppc
并为backuppc创建cgi-bin目录
mkdir -p /var/www/cgi-bin/backuppc
- Create and setup the backuppc user.
创建backuppc 组。
groupadd backuppc
创建backuppc用户,并告诉它其主文件夹在哪里。 我的backuppc用户的主文件夹是/ opt / backuppc。 将此更改为您想要的任何内容。
useradd --home-dir /opt/backuppc --create-home --shell /bin/bash --base-dir /opt/backuppc --gid backuppc backuppc
- Set Permissions on the directories we created:
chown -R backuppc:backuppc /data0/backuppc
chown -R backuppc:backuppc /opt/backuppc
- Download the BackupPC tar.gz archive and extract it.
cd ~
wget https://github.com/backuppc/backuppc/releases/download/4.3.1/BackupPC-4.3.1.tar.gz
tar zxf BackupPC-4.3.1.tar.gz
cd BackupPC-4.3.1
- Run the configure.pl script
需要注意文件中的路径。
perl configure.pl --batch --cgi-dir /var/www/cgi-bin/backuppc \
--data-dir /data0/backuppc --hostname backuppc --html-dir /var/www/html/backuppc \
--html-dir-url /backuppc --install-dir /opt/backuppc
- Apache config
选择了CGI路由(而不是S-CGI),并为CGI目录选择了目录/ var / www / cgi-bin / backuppc。 选择/ var / www / html / backuppc作为我的图像目录。 如果运行不带参数的configure.pl脚本,则可能需要在配置中设置此路径。
现在我们需要将Apache配置复制到apache conf.d目录中。
cp httpd/BackupPC.conf /etc/httpd/conf.d/
注意:此文件包含“全部拒绝”和“允许127.0.0.1”。 这样就可以仅从服务器自身加载BackupPC Web界面。
我修改内容如下:
order deny,allow
#deny from all
allow from all
我们需要修改apache运行的用户。
vim /etc/httpd/conf/httpd.conf
编辑httpd.conf并更改:用户apache到用户backuppc。(group要不要也改成backuppc)
修改内容如下:
User backuppc
Group backuppc
- Install the included systemd script:
cp systemd/backuppc.service /etc/systemd/system/
systemctl daemon-reload
systemctl start backuppc
systemctl enable backuppc
- Create the backuppc authentication file.
htpasswd -c /etc/BackupPC/BackupPC.users backuppc
注意:这会将用户名设置为backuppc。
对此文件设置权限。
chown backuppc:backuppc /etc/BackupPC/BackupPC.users
- Edit the config.pl file in /etc/BackupPC/
vim /etc/BackupPC/config.pl
修改 image directory
和 image url
变量。
$Conf{CgiImageDir} = '/var/www/html/backuppc';
$Conf{CgiImageDirURL} = '/backuppc';
添加backuppc作为管理用户,这里把group也添加了进来:
$Conf{CgiAdminUsers} = 'backuppc';
- Now lets start apache
systemctl start httpd
systemctl enable httpd
- 访问限制
$ firewall-cmd --zone=public --add-port=80/tcp --permanent
$ firewall-cmd --reload
- 关闭selinux
$ vim /etc/sysconfig/selinux
SELINUX=enforcing改为SELINUX=disable
$ reboot
- 访问客户端
# 访问地址
http://192.168.47.129/BackupPC_Admin
# 这里需要输入用户名和密码
backuppc/backuppc