什么是红色表示
用户需要输入或定制的生产线将在红色在本教程! 其余的应该主要是复制和粘贴。
介绍
Bacula是一个复杂的备份解决方案,可以通过利用客户端 - 服务器模型来处理本地和远程备份。 它具有非常灵活的配置选项,可以完全控制备份环境。
在本指南中,我们将备份我们的Ubuntu 12.04 VPS的整个根文件系统。
本指南的更新版本可以在这里找到: 如何在Ubuntu 14.04安装Bacula的服务器 。
安装MySQL
Bacula使用SQL数据库来管理其信息。 我们将在本教程中使用MySQL。
对于Ubuntu 12.04 VPS,必须事先安装此设置,否则在安装bacula套件期间将出现以下错误:
An error occurred while installing the database: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
为了避免这种情况,我们可以在安装bacula组件之前安装MySQL:
sudo apt-get update sudo apt-get install mysql-server
系统将提示您提供并确认数据库管理员密码。 输入密码以继续。
安装Bacula
接下来,我们将安装bacula组件:
sudo apt-get install bacula-server bacula-client
将提示您设置bacula的数据库。 选择“yes”以允许dbconfig-common自动配置数据库。
出现提示时,输入在安装MySQL时选择的数据库管理员密码。 然后它会要求bacula-director-mysql的应用程序密码。 按“Enter”或“Return”生成随机密码。
文件系统配置
接下来,我们需要创建一些目录作为我们的备份和还原点。
将“-p”标志与“mkdir”命令配合使用可创建任何必需的父目录以及目标目录:
sudo mkdir -p /bacula/backup /bacula/restore
我们需要更改文件权限,以便只有bacula进程可以访问这些位置。
sudo chown -R bacula:bacula /bacula sudo chmod -R 700 /bacula
配置Bacula
Bacula有几个组件,必须独立配置才能正常工作。 配置文件可以在所有在/ etc / Bacula的/目录中找到。
配置bacula-dir.conf
通过编辑Bacula的-dir.conf文件开始:
sudo nano /etc/bacula/bacula-dir.conf
对于我们将在本指南中执行的备份,必须修改几个不同的部分。
首先,搜索“标准恢复模板”部分。 在“作业”设置,更改哪里参数指向我们创建的还原点:
Job { Name = "RestoreFiles" Type = Restore Client=Blank-fd FileSet="Full Set" Storage = File Pool = Default Messages = Standard Where = /bacula/restore }
接下来,搜索“要备份的文件列表”部分。 在“FileSet”设置下,我们将添加一个选项来使用gzip压缩我们的存档。
然后我们将准确地指定要使用“File =”参数备份的内容。 在本节中可以有多个“File =”声明,每个声明都有不同的路径。
对于本指南,我们将备份整个根(/)文件系统。 更改参数以反映:
Include { Options { signature = MD5 compression = GZIP } # # Put your list of files here, preceded by 'File =', one per line # or include an external list with: # # File = file-name # # Note: / backs up everything on the root partition. # if you have other partitions such as /usr or /home # you will probably want to add them too. # # By default this is defined to point to the Bacula binary # directory to give a reasonable FileSet to backup to # disk storage during initial testing. # File = / }
最后,添加要从备份中排除的文件路径。 这是在文件集目录排除部分使用相同的“文件=”我们在包括部分中使用的语法完成。
默认值通常在这里很好,但我们需要更改归档目录的路径。 我们不想备份备份文件夹。 更改第二个“File =”以反映我们的根bacula文件路径:
Exclude { File = /var/lib/bacula File = /bacula File = /proc File = /tmp File = /.journal File = /.fsck }
保存并关闭文件。
配置bacula-sd.conf
我们需要编辑一个文件是Bacula的-sd.conf文件。 这将定义bacula存储其备份的区域。
使用sudo权限打开bacula-sd.conf文件:
sudo nano /etc/bacula/bacula-sd.conf
下部分的“设备”配置“这个存储后台支持的设备”,更改存档设备 ,以反映我们之前设置的备份位置:
Device { Name = FileStorage Media Type = File Archive Device = /bacula/backup LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no; }
保存并关闭文件。
检查配置语法
在继续之前,请检查我们使用的配置选项是否被bacula识别。 我们可以使用bacula的内部测试工具来确保我们修改的文件中没有语法错误。
首先,检查bacula导向器配置:
sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
如果命令执行时没有返回任何输出,则配置文件在语法上是正确的。 接下来,检查bacula存储配置:
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf
同样,没有输出表明我们的配置文件有效。
这时,重新启动我们修改的bacula服务,使更改传播:
sudo service bacula-sd restart sudo service bacula-director restart
我们现在准备测试我们的备份。
测试备份
我们将通过其内部控制台与bacula交互。 这可以使用“bconsole”命令访问:
sudo bconsole
您将被放入带有星号(*)的bacula控制台中以提示。 首先发出“label”命令。 将提示您输入将要创建的归档文件的名称:
label
Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" Automatically selected Storage: File Enter new Volume name: MyArchiveName
选择备份的存储“池”类型。 由于我们的备份将作为文件存储,请选择#2:
2: File
Bacula现在知道我们要如何为我们的备份写入数据。 我们现在可以运行备份来测试它是否正常工作:
run
A job name must be specified. The defined Job resources are: 1: BackupClient1 2: BackupCatalog 3: RestoreFiles Select Job resource (1-3):
选择#1选择我们配置的备份。
1: BackupClient1
在提示符下,键入“yes”执行备份:
yes
Bacula会告诉你你有消息。 消息将是备份生成的输出。 键入以下内容以检查错误消息:
messages
您将看到一些输出线。 再次检查,直到看到显示备份结果的摘要。 可能需要几分钟。 它应该说“终止:备份确定”。 检查是否未生成错误。
测试还原
现在已经创建了一个备份,重要的是检查它是否可以正确恢复。 在bacula控制台中,键入:
restore all
将出现一个选择菜单,其中有许多不同的选项。 我们希望恢复最近的备份,因此请选择选项5:
5: Select the most recent backup for a client
这将使您进入具有所备份的整个目录结构的虚拟文件树。 此接口允许简单的命令标记和取消标记要还原的文件。
因为我们指定我们想“还原所有”,所以每个备份的文件都被预先选择进行还原。
如果要调整选择,可以使用“ls”和“cd”命令导航和列出文件,使用“mark”标记要恢复的文件,并取消标记具有“unmark”的文件。 通过在控制台中输入“help”可以获得完整的命令列表。
help
完成后,通过键入以退出文件选择:
done
确认您要还原:
yes
再次,当恢复完成时,检查消息的错误。
messages
摘要应该有一行显示“终止:恢复确定”。 完成后,输入“exit”退出bacula控制台:
exit
检查文件系统
要检查备份是否按预期完成,请列出备份目录的内容。 您将需要使用sudo,因为目录结构由“bacula”用户拥有:
sudo ls /bacula/backup
您应该看到一个包含您选择的存档名称的文件。
接下来,我们应该检查我们的恢复点。 列出还原点目录的内容:
sudo ls /bacula/restore
您应该看到root文件结构的一面镜子,不包括Bacula的-dir.conf文件的“排除”一节中列出的文件和目录。
你现在有一个基本的bacula设置,可以备份本地文件系统。 Bacula也是远程备份的强大解决方案。 点击这里了解如何使用Bacula的配置远程备份 。