复制服务器金钥到客户端

你必须将你服务器上创建的金钥复制到每一台要被备份的客户端里。就此,请继续上一步,在服务器上以 backuppc 这个用户的身份执行 ssh-copy-id 这个指令。
bash-3.2$ ssh-copy-id -i .ssh/id_dsa.pub root@host_to_backup

它应该会将金钥复制到主机里,并通过 SSH 把你登录该台机器。

设置客户端

BackupPC 的基础

在你开始使用网页界面前,让我们为应用于各主机的设置及选项提供一些基本的解释。我所阅读的其它指南在这方面都令我不知所措。你刚才所编辑的主要配置文件,位于 /etc/BackupPC/config.pl,藏有 BackupPC 的所有缺省值。这个配置文件可以在命令行上编辑,也可以通过为每个选项提供文档的图像界面来修改。你登录网面界面时,在左边可看见 Edit Config 这个页签。当你点击它时,你其实在编辑 /etc/BackupPC/config.pl 这个文件。直至你阅读文档为止,请不要改动任何缺省的选项,否则你可能很快便会发现一个失效的备份系统。

虽然主要配置文件提供所有缺省值,你亦可以为个别主机更改这些设置。当你在网页界面上加入一台主机后,你为该主机所加入的任何设置值将会取代缺省值。这样做亦会创建一个独立的文件,/etc/BackupPC/pc/主机名称.pl。这个文件藏有所有曾经被修改,或与 /etc/BackupPC/config.pl 内有差别的设置值。譬如说,这些文件的内容会是你为某主机设置在备份时要包括或排除的目录。

除非你将会在所有主机上备份相同的目录,否则你在创建了一台主机后便应利用此功能来设置目录。这一步可以通过 Xfer 页签上的 RsyncShareName 来完成。紧随这个设置之下是 BackupFilesExclude 选项,让你将 /var/cache 等目录排除于备份之外。

在 BakcupSettings 这个主页签里,你会找到 DumpPreUserCmd。它容许你指定任何脚本在在进行目录的 rsync 前被执行。举个例说,假如你需要令数据库转储然后再备份,你可以在这个脚本里指定。SourceForge 上已然备有 AutoMySQLBackup,所以它在下一部份会有所描述。

DumPostUserCmd 容许你在备份后执行一个指令,而 DumpPreShareCmd 及 DumpPostShareCmd 容许你在分享一个备份之前及之后执行脚本。注:很多人似乎被这些设置里的参数所混淆。你不能将这些字段视作命令行或指令壳。指令壳语法在这里不会生效,因此你如果需要执行多个指令或脚本,请将它们放进客户端的一个脚本里,让它们一个接一个地被执行。

最后,你可以在 Schedule 这个页签设置如何进行完整及渐进式的备份。你可以在 Edit Config 将它设置为缺省级别,又或者为个别主机进行设置。缺省值是保留一套完整备份及六套渐进式的备份。这样你便会拥有一个星期的备份。FullPeriod 的值是 6.97,意思即是每 7 日便进行一次完整备份。IncrPeriod 的值是 0.97,意思即是每日都进行渐进式备份。IncrKeepCnt 的值是 6,也就是说 6 日渐进式备份后,就有一日是完整备份。你也可设置 BlackoutPeriods,即是你不想进行备份的日子。这里的每个设置在文档内都有所解释,因此这详阅。

在网页界面加入客户端

接下来,请通过网页界面加进客户端及它的一切设置。请点击 Edit Hosts 页签,继而按 Add 按钮。填入你想备份的主机名称,然后在 User 部份之下,以 backuppc 作为用户。这必须是 backuppc,因为备份是已这位用户来引导的。其它设置都不行。完成后,请按顶部的 save 按钮。当你点击位于左面的 Host Summary 连结时,你应该能看见你的新主机。要开始改动主机的设置,请点击机名,然后一个新的本地将会在顶部打开。请点击在主机名称之下、最左上方的 Edit Config。

由此点起,你所做的一切修改将会取代缺省的设置值,并会被存储到 /etc/BackupPC/pc/主机名称.pl 这个文件内。请点击 Xfer 这个按钮,然后开始在 RsyncShareName 下加入目录。在它以下的 Include/Exclude 本地内,你可以将任何要排除的东西加进 BackupFilesExclude。完成后,请确定会已点击在最顶部的 save。加入一台主机大致上便是这样。如果你选择一台主机,你可以手动式地开始及终止备份来检查操作是否正常。

根据缺省值,BackupPC 会日以继夜地、每小时醒来检查是否有主机被排序作备份。要更改这个特性,请进到 Server configuration 页签下的 EditConfig 部份。请更改 WakeupScahedule 来迎合你的需要。

将数据库备份

要在所备份的主机内包含数据库的转储,你有两个选择。第一,你可以写一个在主机进行备份前执行的脚本。第二,你可以利用 SourceForge 上的 AutoMySQLBackup 脚本计划来转储你的 MySQL 数据库。通过在脚本上作出简单的修改,你可以轻易地令它支持 PostgreSQL 数据库。开始时,请从 [http://sourceforge.net/projects/automysqlbackup|SourceForge] 下载脚本。请将这个脚本复制到要备份的主机,将它于在 /usr/local/bin 等位置。我一般会将该脚本换名来反映它所转储的主机名称。

这一步并非必须,它只是较有逻辑而己。然而,你必须确定这个脚本是可执行的。

# scp automysqlbackup.sh.2.5 host_name:/usr/local/bin
# ssh host_name
# mv automysqlbackup.sh.2.5 mysql_hostname_dump
# chmod +x mysql_hostname_dump

这个脚本内已包含所有选项的详尽注释。请你务必从头阅读一次,好让你知道它在做什么。AutoMySQLBackup 连接到并转储所有你指定的数据库到 /backups、发电邮给你若设置了的话)、并且采用循环的方式来确定你拥有一组数据库转储。

请确定你已填入 USERNAME、PASSWORD、及 DBNAMES。如果你想设置电邮,请遵照脚本内的方法来进行设置。设置的过程非常简单,因此当你把选项修改好,请在要被备份的主机上手动式执行脚本一次。

这样你可以检查 /backups 这个目录有否被创建,与及转储有否发生。

# cd /usr/local/bin
# ./mysql_hostname_dump

……大量输出……或错误……请据此作出修正。

# cd /backups
# ll

你应该会看见一个分开每日、每周、及每月的目录结构,而每个数据库的名称又会以独立目录的型式出现在它们之内。你可以遍历这些目录来找出对应你的数据库的 .sql.gz 文件。

为 BackupPC 主机加入 DumpPreUserCmd

既然转储用的脚本已经实际地在主机上设置好,我们便可以在 BackupPC 的网页界面设置 DumpPreUserCmd 要通过 SSH 连接到被备份的主机并执行 AutoMySQLBackup。请在网页界面选择一台主机,然后选择位于左上方的 EditConfig 页签。选择 BackupSettings 页签并进到 User Commands 以下部份。第一行便是 DumpPreUserCmd。

请在这部份加入下面数行。

$sshPath -q -x -l root $host /usr/local/bin/mysql_hostname_dump

选择顶部的 save,然后进到主机的 Xfer 页签。请确定你在 RsyncShareName 内加入 /backups 这个目录,否则你的转储永远不会从主机复制出来。这应便完成了,现在你的主机的 MySQL 数据库将会在 BackupPC 对目录进行 rsync 前被转储。如上述所说,你可以简易地编辑 AutoMySQLBackup 并改为一个 AutoPostgreSQLBackup 脚本。你只须将所有 MySQL 的语法改为 PostgreSQL 的指令及选项。

BackupPC 的其它功能

之前已经提及,BackupPC 亦可以将 SMB 的共享资源备份、利用 tar 来进行备份、及将备份保存在其它媒体上。

BackupPC 的相关文档对每个功能都有所解释。
$Conf{XferMethod} = 'rsync';
The valid values are:
      - 'smb':     通过 smbclient 及 SMB 通讯协议进行备份及撤消。
                   WinXX 的最简单选择。
      - 'rsync':   通过 rsync通过 rsh 或 ssh)进行备份及撤消。
                   linux/unix 的最佳选择。亦是 WinXX 的好选择。
      - 'rsyncd':  通过客户端上的 rsync 守护程序进行备份及撤消。
                   执行着 rsyncd 的 linux/unix 客户端的最佳选择。亦是 WinXX
                   的好选择。
      - 'tar':     通过 tar 或在 ssh、rsh 或 nfs 里执行的 tar 进行备份及撤消。
                   linux/unix 的一个好选择。
      - 'archive': 主机是台特殊的存档主机。备份不会进行。存档主机是用来将其它
                   主机的备份保存到磁带、CDR 或 DVD 等永久性媒体里。


相关内容

    暂无相关文章