我想设置 Backuppc 来备份所有远程主机的文件。如能提供带屏幕截图的指南,我将不胜感激。
细节:
所有主机都运行 ubuntu,我需要为保存在其桌面上的文件设置增量备份。
需要使用 Web GUI 从服务器监控备份状态。
答案1
大纲
- 安装
- BackupPC 网络用户
- 客户端连接准备 - 设置 SSH-KEY
- 配置 BackupPC 来备份客户端的 /home 目录
- 添加客户端
- 备份计划
1.安装
通过 Ubuntu BackupPC 包安装
sudo apt-get install backuppc
这将安装 BackupPC 并自动配置以下内容
Linux User : backuppc (home directory /var/lib/backuppc)
BackupPC daemon will run as this user
HTTP User : backuppc (For web gui http login)
Password is located in /etc/backuppc/htpasswd (See Step 2)
Config file location : /etc/backupc
Data file location : /var/lib/backuppc
Apache will be configured
Web Interface URL : http://<hostname/IP>/backuppc
本指南基于上述安装方法和信息。
如果使用手动安装,则在中config.pl
查找以下行
set $Conf{CgiAdminUsers} = '';
并更改为
set $Conf{CgiAdminUsers} = 'backuppc';
2. BackupPC 网络用户
HTTP 登录/用户备份pc
要在 BackupPC 网络界面中拥有完全的管理权限,必须以用户名backuppc
和密码登录。(这是不是与Linux用户相同。)
安装时会创建Web 界面用户(http 登录),backuppc
密码为随机数。如果忘记记下密码,请使用以下htpasswd
命令进行更改:
sudo htpasswd /etc/backuppc/htpasswd backuppc
附加用户
添加其他用户
sudo htpasswd /etc/backuppc/htpasswd <username>
在步骤 5 添加客户端,将 <用户名> 填入moreUsers
字段。当 <用户名> 登录 Web 界面时,只会看到他们被分配到的客户端。
3. 客户端连接准备-设置SSH-KEY
客户端 SSHD 配置
为了简单起见,客户端机器的 sshd 应该允许 root 登录。对于每个客户端/etc/ssh/sshd_config
,确保以下选项存在且未注释
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
应该在所有客户端上完成此操作以加快下一步的操作,因为scp
将会使用。
服务器 SSH KEY 创建与部署
在服务器上,以用户身份登录
backuppc
backuppc@server$ sudo su - backuppc
使用空密码阶段生成 SSH 密钥对
backuppc@server$ ssh-keygen
当询问 phasephase 时,将其留空(按enter)
Enter passphrase (empty for no passphrase): Enter same passphrase again:
id_rsa
这样会在 /var/lib/backuppc/.ssh: 中生成 2 个文件id_rsa.pub
。您只需生成一对密钥。将密钥部署到客户端机器
复制
id_rsa.pub
到客户端机器backuppc@server$ scp /var/lib/backuppc/.ssh/id_rsa.pub sudo-user@<client machine>:/home/sudo-user/backuppc.id_ras.pub backuppc@server$ ssh sudo-user@<client machine> sudo-user@client$ chmod 600 backuppc.id_ras.pub sudo-user@client$ sudo mkdir /root/.ssh sudo-user@client$ sudo chmod 700 /root/.ssh sudo-user@client$ sudo mv backuppc.id_ras.pub /root/.ssh/authorized_keys sudo-user@client$ sudo chown root:root /root/.ssh/authorized_keys
测试 ssh 连接(在服务器上,以 Linux 用户 backuppc 身份)
backuppc@server$ ssh root@<client machine>
它不应该要求输入密码。
进行测试很重要,因为这也会将客户端机器指纹添加到 backuppc(linux 用户)的 .ssh/known_hosts 列表中。否则,当 BackupPC(软件)通过 ssh 连接客户端机器时,它将提示进行指纹确认,而它无法处理,备份过程将失败。
对所有客户端计算机重复步骤 3。
此时,服务器用户
backuppc
应该能够以 root 身份通过 ssh 进入所有客户端计算机,无需输入密码、指纹确认或密码相位。
4. 配置 BackupPC 备份客户端的 /home 目录
- 打开 BackupPC Web GUI
- 在左侧面板上,服务器部分,点击编辑配置
- 在右侧面板上,单击传输标签
在传输选项卡,更改关注,然后单击节省在上面
XferMethod: rsync RsyncShareName: /home
(假设仅备份用户主目录)
这将自动应用于所有客户端。
5. 添加客户端
- 打开 BackupPC Web GUI
- 在左侧面板上,
Server
单击Edit Hosts
- 对于每台机器,在 下填写主机名或 IP 地址
host
,并始终使用backuppc
,user
单击Add
以显示更多行。完成后记得单击Save
顶部。 从列表中删除 localhost
如果台式机使用 dhcp,情况就会变得棘手。有几种方法可以解决这个问题
- 配置 dhcpd 为其分配静态 IP
- 将台式机改为使用静态 IP
- 配置动态 DNS 更新
无论如何,服务器需要能够通过 IP 地址或主机名一致地访问(ssh)每台客户端机器。
6. 备份计划
- 打开 BackupPC Web GUI
- 在左侧面板上,服务器部分,点击编辑配置
- 在右侧面板上,单击日程标签
无需执行任何操作,将执行默认计划
Full Backup every 7 days (FullPeriod: 6.97 day) Incremental Backup everyday (IncrPeriod: 0.97 day)
7. 添加审计接口
为 BackupPC 添加审计接口有指令向 BackupPC 添加仅审计接口。
不过Ubuntu BackupPC包中的index.cgi是经过编译的,/usr/share/backuppc/lib/realindex.cgi
应该用来生成audit.cgi
博客中提到的。
答案2
您可以在远程 PC 上安装备份 PC 的文件夹,并使用 Ubuntu 的默认备份工具将备份存储在此安装的共享上。
或者,如果您熟悉 bash 脚本,您可以使用 rsync 编写脚本来复制备份 PC 上的文件,并让该脚本通过 cron 作业定期运行。
如果您在 Google 上搜索“安装网络共享”,我想您可以找到一个截图指南。
我通过谷歌搜索找到了这本带图的指南:https://help.ubuntu.com/community/BackupYourSystem/SimpleBackupSuite使用 SimpleBackupSuite。从未尝试过。
希望能帮助到你 :-)