如何在 ubuntu 12.04 中配置 Backuppc?

如何在 ubuntu 12.04 中配置 Backuppc?

我想设置 Backuppc 来备份所有远程主机的文件。如能提供带屏幕截图的指南,我将不胜感激。

细节:

  • 所有主机都运行 ubuntu,我需要为保存在其桌面上的文件设置增量备份。

  • 需要使用 Web GUI 从服务器监控备份状态。

答案1

大纲

  1. 安装
  2. BackupPC 网络用户
  3. 客户端连接准备 - 设置 SSH-KEY
  4. 配置 BackupPC 来备份客户端的 /home 目录
  5. 添加客户端
  6. 备份计划

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 创建与部署

  1. 在服务器上,以用户身份登录backuppc

    backuppc@server$ sudo su - backuppc
    
  2. 使用空密码阶段生成 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。您只需生成一对密钥。

  3. 将密钥部署到客户端机器

    复制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 目录

  1. 打开 BackupPC Web GUI
  2. 在左侧面板上,服务器部分,点击编辑配置
  3. 在右侧面板上,单击传输标签
  4. 传输选项卡,更改关注,然后单击节省在上面

    XferMethod: rsync
    RsyncShareName: /home
    

    (假设仅备份用户主目录)

  5. 这将自动应用于所有客户端。

    截屏

5. 添加客户端

  1. 打开 BackupPC Web GUI
  2. 在左侧面板上,Server单击Edit Hosts
  3. 对于每台机器,在 下填写主机名或 IP 地址host,并始终使用backuppcuser单击Add以显示更多行。完成后记得单击Save顶部。
  4. 从列表中删除 localhost

    截屏

    如果台式机使用 dhcp,情况就会变得棘手。有几种方法可以解决这个问题

    1. 配置 dhcpd 为​​其分配静态 IP
    2. 将台式机改为使用静态 IP
    3. 配置动态 DNS 更新

    无论如何,服务器需要能够通过 IP 地址或主机名一致地访问(ssh)每台客户端机器。

6. 备份计划

  1. 打开 BackupPC Web GUI
  2. 在左侧面板上,服务器部分,点击编辑配置
  3. 在右侧面板上,单击日程标签
  4. 无需执行任何操作,将执行默认计划

    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。从未尝试过。

希望能帮助到你 :-)

相关内容