您的位置:首页 > 理论基础 > 计算机网络

关于bacula网络备份软件的安装以及配置1

2009-09-05 23:51 357 查看
最近在网上看到有一个强大的网络备份软件bacula,于是就找了一些资料来看,发现网上的资料寥寥无几啊,凭着自己的理解就在本地环境下面进行了测试,最后终于实现了网络的备份以及还原功能,当然此文章也有不足之处,之后会进行其他方面的一些更新.

网络备份工具bacula配置

简介: Bacula,被誉为开源软件中最好的备份还原软件,它提供了企业级的客户机/服务器的备份解决方案,能够通过网络来管理文件的备份,恢复和核实工作.既有windows版本的,也有Linux,Unix的.

关于bacula的组建介绍:

Directory:管理所有备份,恢复,验证,和存档事务,定制备份和恢复文件的计划.

Storge:指定进行存储和恢复文件属性和数据的物理备份媒介.

File:安装在被备份机器上的程序,将被directory调用时候,它提供
关于自己的操作系统、文件属性、数据等资料.

Console:与directory进行通讯.

Catalog:负责维护所有备份文件的索引和数据库.

Monitor:监控directory、file、storage的守护进程.

试验环境:

使用2台服务器来做这个网络备份的测试环境,环境如下:
10.10.2.226 作为directory、storage、catalog.
10.10.2.162 作为file.

关于bacula的结构图:





一. Bacula在server上的安装以及配置

1.Bacula在server上的安装

bacula的安装不是很复杂,我这里安装的是bacula的2.4.3版本的.
#tar zxvf bacula-2.4.3.tar.gz
#./configure --with-mysql
#make&&make intall
默认情况下,bacula的安装路径为/etc/bacula.[/b]

2.创建mysql脚本

#./grant_mysql_privileges
#./ create_mysql_database
#./ make_mysql_tables

3.bacula的配置

在这里说明下,bacula的主要配置都在directory这个配置文件里面的,这个算是一个核心文件了,一定要搞清楚里面配置文件的配置项都代表什么意思,否则很难配置成功.
#####################################################################
directory端的配置:
#more bacula-dir.conf

//directory[/b]的全局配置[/b]
Director {
Name = linux-0fdr-dir
DirAddress=10.10.226 //[/b]这里是directory端的ip[/b]
DIRport = 9101 //[/b]这里是directory端的进程号[/b]
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/bacula/working"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 1
Password = "MJ8SyFywMm+4ntJf2EupggRWIWE6LozmLfIKC8J9nYt7"
Messages = Daemon
}

//directory[/b]的job配置[/b]
Job {
Name =dbjob //job[/b]的名字,这个可以随便起,在后面的备份操作[/b]
[/b]的时候可以看到[/b]
Client=dbfd //[/b]这里要和后面的client的name名字要一样[/b]
Type=backup //[/b]可用类型有backup,restore,verify,admin[/b]
FileSet=dbfs //[/b]这个要和后面的fileset的name名字要一样[/b]
Messages=Daemon //[/b]这个要与后面的message的name名字要一样[/b]
Pool=dbpool //[/b]这个要与后面的pool的name名字要一样[/b]
Storage=dbsd //[/b]这个要与后面的storage的name名字要一样[/b]
Write Bootstrap = "/var/bacula/working/Client1.bsr"
Level=Full //[/b]这里是备份类型,可用的值是FULL(完全备份),incremental(增量备份),differential(差异备份)[/b]
schedule=dbscd //[/b]这里要与后面的schedule的name名字要一样[/b]
}

//directory[/b]的还原job配置[/b]
job{
Name=restrory
Client=dbfd
Type=Restore
FileSet=dbfs
Messages=Daemon
Pool=dbpool
Storage=dbsd
Write Bootstrap = "/var/bacula/working/Client1.bsr"
Where =/home/bacula/ //[/b]还原的路径[/b]

}

FileSet {
Name =dbfs //[/b]这个名字是应用到job里面的[/b]
Include{
Options {
Compression=GZIP //[/b]对备份文件进行gzip的压缩[/b]
signature = MD5 //[/b]验证方式为MD5码的方式[/b]
Sparse=yes
}
File =/home/mysql_packup //[/b]需要备份的目录[/b]
}

[align=left]Exclude { // [/b]排除的,不备份的内容[/b][/b][/align]
[align=left] File = /proc //[/b]不备份/proce[/b][/align]
[align=left] File = /tmp [/align]
[align=left] File = /.journal[/align]
[align=left] File = /.fsck[/align]
[align=left] }[/align]
}

Client {
Name = dbfd //[/b]这里要与FD配置文件的name相同,并且应用在job里面的[/b]
Address = 10.10.2.162 //[/b]要备份的客户机IP[/b]
FDPort = 9102
Catalog = dbcatalog //[/b]记录客户机备份情况的日志名,后面会定义[/b]
Password = "Nd+Yuqe+Kd5wBc1S9uMTEGTNqNIe1cupnfuOdwboej6Z" //[/b]与FD的密码一致 [/b]
File Retention = 30 days //[/b]保存在数据库目录多久轮询一次,这里是30天[/b]
Job Retention = 6 months //job[/b]保持周期,大于FRetention[/b]
AutoPrune = yes //[/b]当FR/JR周期满了是否执行自动删除它们在数据库的目录[/b]
#priority =1 //[/b]如果多个client时,定义优先级1-1000,值越小越优先[/b]
}

Storage {
Name =dbsd //[/b]必须与SD配置文件的name相同,这个应用到了job里面[/b]
Address = 10.10.2.226 //[/b]安装sd服务的服务器IP[/b]
SDPort = 9103
Password = "5jipKA7pekDel6BUjgIwD3LkPPBgxcecbLpLfl9puj0c" //[/b]要与SD的password一样[/b]
Device =dbdev //[/b]要与SD配置文件的device的name相同[/b]
Media Type = File //[/b]要与SD配置文件device的Media Type相同 [/b]
}

Pool {
Name =dbpool //[/b]这个应用到了job里面[/b]
Pool Type=backup
Maximum Volume Jobs = 1
Recycle = yes
AutoPrune = yes
Volume Retention = 365 days
}

Schedule { //[/b]定时任务[/b]
Name =dbscd //[/b]这个应用到了job里面[/b]
Run = Full 1st sun at 23:05
Run = Differential 2nd-5th sun at 23:05
Run = Incremental mon-sat at 23:05
}

Catalog {
Name =dbcatalog //[/b]这个应用到了job里面[/b]
dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
DB Address=10.10.2.226 //[/b]不要用localhost,数据库所在的IP[/b]
DB Port=3306
}

Messages {
Name = Daemon //[/b]这个应用到了job里面[/b]
mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
mail = root@localhost = all, !skipped
console = all, !skipped, !saved
append = "/var/bacula/working/log" = all, !skipped
}

Console {
Name = linux-0fdr-mon
Password = "MJ8SyFywMm+4ntJf2EupggRWIWE6LozmLfIKC8J9nYt7"
CommandACL = status, .status
}

#####################################################################本文出自 “鑫鑫linux运维培训” 博客,请务必保留此出处http://wiliiwin.blog.51cto.com/928128/199294
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: