博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于bacula网络备份软件的安装以及配置1
阅读量:7127 次
发布时间:2019-06-28

本文共 4025 字,大约阅读时间需要 13 分钟。

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

 

       网络备份工具bacula配置

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

关于bacula的组建介绍:

Directory:
管理所有备份,恢复,验证,和存档事务,定制备份和恢复文件的计划.
 
Storge:
指定进行存储和恢复文件属性和数据的物理备份媒介.
 
File:
安装在被备份机器上的程序,将被directory调用时候,它提供
      
关于自己的操作系统、文件属性、数据等资料.
 
Console:
directory进行通讯.
 
Catalog:
负责维护所有备份文件的索引和数据库.
 
Monitor:
监控directoryfilestorage的守护进程.

试验环境:

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

关于bacula的结构图:

 4.jpg

 

一.    Baculaserver上的安装以及配置

1.Baculaserver上的安装

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

2.创建mysql脚本

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

3.bacula的配置

在这里说明下,bacula的主要配置都在directory这个配置文件里面的,这个算是一个核心文件了,一定要搞清楚里面配置文件的配置项都代表什么意思,否则很难配置成功.
#####################################################################
directory
端的配置:
#more bacula-dir.conf
 
//directory
的全局配置
Director {
                           
  Name = linux-0fdr-dir
  DirAddress=10.10.226           //
这里是directory端的ip
  DIRport = 9101                 //
这里是directory端的进程号
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1
  Password = "MJ8SyFywMm+4ntJf2EupggRWIWE6LozmLfIKC8J9nYt7"        
  Messages = Daemon
}
 
//directory
job配置
Job {
  Name =dbjob          //job
的名字,这个可以随便起,在后面的备份操作
                         
的时候可以看到
  Client=dbfd         //
这里要和后面的clientname名字要一样
  Type=backup         //
可用类型有backup,restore,verify,admin
  FileSet=dbfs        //
这个要和后面的filesetname名字要一样
  Messages=Daemon     //
这个要与后面的messagename名字要一样
  Pool=dbpool         //
这个要与后面的poolname名字要一样
  Storage=dbsd        //
这个要与后面的storagename名字要一样
  Write Bootstrap = "/var/bacula/working/Client1.bsr"
  Level=Full      //
这里是备份类型,可用的值是FULL(完全备份),incremental(增量备份),differential(差异备份)
  schedule=dbscd     //
这里要与后面的schedulename名字要一样
}
 
//directory
的还原job配置
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/    //
还原的路径
 
}
 
 
FileSet {
   
  Name =dbfs        //
这个名字是应用到job里面的
  Include{
    Options {
      Compression=GZIP   //
对备份文件进行gzip的压缩
      signature = MD5    //
验证方式为MD5码的方式
      Sparse=yes
    }
    File =/home/mysql_packup   //
需要备份的目录
  }
    
Exclude {
                  // 
排除的,不备份的内容
    File = /proc           //
不备份/proce
    File = /tmp         
    File = /.journal
    File = /.fsck
 
 }
}
 
Client {
  Name = dbfd              //
这里要与FD配置文件的name相同,并且应用在job里面的
  Address = 10.10.2.162   //
要备份的客户机IP
  FDPort = 9102
  Catalog = dbcatalog     //
记录客户机备份情况的日志名,后面会定义
  Password = "Nd+Yuqe+Kd5wBc1S9uMTEGTNqNIe1cupnfuOdwboej6Z"  //
FD的密码一致 
File Retention = 30 days  //
保存在数据库目录多久轮询一次,这里是30
  Job Retention = 6 months   //job
保持周期,大于FRetention
  AutoPrune = yes            //
FR/JR周期满了是否执行自动删除它们在数据库的目录
  #priority  =1              //
如果多个client,定义优先级1-1000,值越小越优先
}
 
Storage {
  Name =dbsd      //
必须与SD配置文件的name相同,这个应用到了job里面
  Address = 10.10.2.226         //
安装sd服务的服务器IP
  SDPort = 9103
  Password = "5jipKA7pekDel6BUjgIwD3LkPPBgxcecbLpLfl9puj0c"    //
要与SDpassword一样
  Device =dbdev          //
要与SD配置文件的devicename相同
  Media Type = File       //
要与SD配置文件deviceMedia Type相同
}
 
Pool {
  Name =dbpool           //
这个应用到了job里面
  Pool Type=backup      
  Maximum Volume Jobs = 1
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 365 days
}
 
Schedule {
              //
定时任务
  Name =dbscd           //
这个应用到了job里面
  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       //
这个应用到了job里面
  dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
  DB Address=10.10.2.226    //
不要用localhost,数据库所在的IP
  DB Port=3306
}
 
Messages {
  Name = Daemon        //
这个应用到了job里面
  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
}
 
#####################################################################
本文转自wiliiwin 51CTO博客,原文链接:http://blog.51cto.com/wiliiwin/199294

转载地址:http://nyoel.baihongyu.com/

你可能感兴趣的文章
个人笔记:LINUX下MAIL通知维护
查看>>
Azure国际版VM密码重置(Portal)
查看>>
libvirt kvm云主机监控
查看>>
Apache配置静态缓存
查看>>
URL欺骗
查看>>
Zabbix图像集中展示Graphtrees开源
查看>>
《聚爆Implosion》性能精析:这是我们测过性能最棒的手游,没有之一!
查看>>
Linux GPT分区格式磁盘的相关操作
查看>>
DCD DSR DTR RTS CTS 的含义
查看>>
OpenTest:教你在自动化脚本中增加选择文件的支持
查看>>
关于安装ASPNetExtMVC2008.exe 后不出现MVC项目的问题
查看>>
强烈推荐ISCSI target和initiator软件
查看>>
企业服务经验总结--服务器安全细则2
查看>>
python中时间的加n和减n运算
查看>>
软件开发人员应具备的基本素质 !!!
查看>>
无线运维——J2ME和WAP运维方式的优缺点
查看>>
生产环境Shell脚本Ping监控主机是否存活(多种方法)
查看>>
关于SQLServer2000中触发器的使用——多行数据提交
查看>>
commons-fileupload 1.3.1 上传测试
查看>>
红帽集群套件RHCS四部曲(概念篇)
查看>>