bareos主要由主控端和客户端构成:

包含的重要的服务有:

bareos-director

bareos-storage

bareos-filedaemon

bareos-bconsole

bareos-database

bareos安装

安装bareos yum源:

wget -O /etc/yum.repos.d/bareos.repo http://download.bareos.org/bareos/release/latest/CentOS_6/bareos.repo

安装bareos:
yum install bareos bareos-database-mysql
安装好MySQL并运行如下脚本,为Bareos创建数据库和表:
/usr/lib/bareos/scripts/create_bareos_database
/usr/lib/bareos/scripts/make_bareos_tables
/usr/lib/bareos/scripts/grant_bareos_privileges
启动Bareos服务
/etc/init.d/bareos-dir start   # Director进程,逻辑控制
/etc/init.d/bareos-sd start   # Storage Daemon
/etc/init.d/bareos-fd start    # File Daemon
Bareos使用的端口 9101-9103
使用如下命令访问Director:
bconsole
输入help命令查看帮助:

  • 常用的命令有:
show filesets
status dir
status client
status storage
status schedule
run  #运行run命令开始执行备份任务
quit

安装Bareos Webui

Bareos-webui是Bareos的Web管理接口,比 bconsole 命令要简单直观。 

System requirements

  • A working Bareos environment, Bareos >= 16.2. The Bareos Director and Bareos Webui should have the same version.
  • You can install Bareos Webui on any host it does not have to be installed on the same as the Bareos Director.
  • An Apache 2.x Webserver with mod-rewrite, mod-php5 and mod-setenv enabled.
  • PHP >= 5.5
安装好Apache和PHP(CentOS 6默认的php 5.3版本需要升级):
yum install httpd php php-cli php-common
安装 bareos-webui:
CentOS 6上安装
cd /var/www/html/
wget https://codeload.github.com/bareos/bareos-webui/zip/master -O bareos-webui.zip

 unzip bareos-webui.zip

mv bareos-webui-master bareos-webui
cp bareos-webui/install/apache/bareos-webui.conf /etc/httpd/conf.d/

修改bareos-webui.conf文件

/etc/init.d/httpd restart

onfigure the directors

mkdir /etc/bareos-webui
cp /var/www/html/bareos-webui/install/directors.ini /etc/bareos-webui/

Configure the webui

cp /var/www/html/bareos-webui/install/configuration.ini /etc/bareos-webui/

Create restricted named consoles

cp /var/www/html/bareos-webui/install/bareos/bareos-dir.d/console/admin.conf.example  /etc/bareos-webui/admin.conf

cp /var/www/html/bareos-webui/install/bareos/bareos-dir.d/profile/webui-admin.conf  /etc/bareos-webui/

console配置文件/etc/bareos-webui/admin.conf

profile resource配置文件/etc/bareos-webui/webui-admin.conf

修改/etc/bareos/bareos-dir.d/director/bareos-dir.conf文件,在最后添加如下两行

@/etc/bareos-webui/admin.conf
@/etc/bareos-webui/webui-admin.conf

/etc/init.d/bareos-dir restart

登录web页面:http://IP/bareos-webui

手动测试备份任务

查看的默认备份的目录为/usr/sbin

查看备份文件

测试恢复

默认恢复到/tmp/bareos-restores,可以输入mod自定义位置

查看恢复的文件

恢复单个文件

如果有多个文件可以写个列表,使用<符号导入

restore client=client1 file=</tmp/file-list

增加bareos-filedaemon客户端

在新的服务安装bareos-filedaemon

yum install -y bareos-filedaemon

在bareos-director服务器执行如下命令

bconsole

*configure add client name=node2 address=172.17.20.124 password=secret

会创建如下两个文件

/etc/bareos/bareos-dir-export/client/node2/bareos-fd.d/director/bareos-dir.conf

/etc/bareos/bareos-dir.d/client/node2.conf

从bareos-director上拷贝文件到新的bareos-filedaemon服务器

scp /etc/bareos/bareos-dir-export/client/node2/bareos-fd.d/director/bareos-dir.conf node2:/etc/bareos/bareos-fd.d/director/

scp /etc/bareos/bareos-dir.d/client/node2.conf node2:/etc/bareos/bareos-dir.d/client/

在bareos-director服务器上执行

*reload

在新的bareos-client启动服务

service bareos-fd start

查看bareos-fd命令

bareos-fd -xc

在web页面上查看客户端

使用新的client运行一个job

查看node2的状态

预估备份情况

运行备份job

列出备份的文件

查看存储卷

在web页面上查看所做的操作

备份相关配置

定义要备份的文件或目录(高级的定义写法请参考官方文档)

/etc/bareos/bareos-dir.d/fileset/SelfTest.conf配置文件

例如:

定义备份的时间表(高级的时间表写法可以参考官方文档)

/etc/bareos/bareos-dir.d/schedule/WeeklyCycle.conf配置文件

例如:

AfterBackup时间表

/etc/bareos/bareos-dir.d/schedule/WeeklyCycleAfterBackup.conf配置文件

例如:

定义备份存放的路径

/etc/bareos/bareos-sd.d/device/FileStorage.conf配置文件

例如:

Job和Jobdefs路径

/etc/bareos/bareos-dir.d/job/

/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf #默认job定义

存储定义的路径

/etc/bareos/bareos-dir.d/storage/

console和profile权限路径

/etc/bareos/bareos-dir.d/console/

/etc/bareos/bareos-dir.d/profile/

添加自定义fileset

/etc/bareos/bareos-dir.d/fileset/my.conf

使用命令行*configure add fileset name=my,或者重启/etc/init.d/bareos-dir restart使其生效。

使用show fileset查看

添加自定义jobdefs

/etc/bareos/bareos-dir.d/jobdefs/My.conf

使用命令行*configure add jobdefs name=My,或者重启/etc/init.d/bareos-dir restart使其生效。

使用show jobdefs查看

添加自定义job

/etc/bareos/bareos-dir.d/job/my-job.conf

重启/etc/init.d/bareos-dir restart

添加自定义schedule

/etc/bareos/bareos-dir.d/schedule/DailyCycle.conf

重启/etc/init.d/bareos-dir restart

查看自定义备份是否运行成功

定义备份保留时间

/etc/bareos/bareos-dir.d/pool/Full.conf

Volume Retention = 365 days

添加备份情况邮件提醒

/etc/bareos/bareos-dir.d/messages/Standard.conf

重启/etc/init.d/bareos-dir restart

Copy or Migration

迁移数据,从一个Volume移动到另一个Volume。(具体用法可参考官方文档)

安装 bareos-storage-tape

相关配置文件:

/etc/bareos/mtx-changer.conf
/etc/bareos/bareos-sd.d/autochanger/autochanger-0.conf
/etc/bareos/bareos-sd.d/device/tapedrive-0.conf

插件使用

可以配合一些插件备份数据

例如:

MySQL Plugin

Backup of MySQL Databases using the Bareos MySQL Percona xtrabackup Plugin

1.Install the xtrabackup tool from Percona

2.Install the files BareosFdPercona.py and bareos-fd-percona.py in your Bareos plugin directory

https://github.com/bareos/bareos-contrib/tree/master/fd-plugins/bareos_percona

3.Configuration Activate your plugin directory in the fd resource conf on the client

编辑bareos-fd.d/client/mysql-fd.conf

Client { 
   Name = mysql-fd 
   #... 
   Plugin Directory = /usr/lib64/bareos/plugins 
   Plugin Name = "python" 
 }

编辑bareos-dir.d/fileset/mysql.conf

FileSet { 
     Name = "mysql" 
     Include  { 
         Options { 
             compression=GZIP 
             signature = MD5 
         } 
         File = /etc 
         #... 
         Plugin = "python:module_path=/usr/lib64/bareos/plugins:module_name=bareos-fd-percona" 
     } 
 }

其他插件 bpipe plugin,LDAP Plugin,VMware Plugin等用法可参考官方文档。

加密(具体可参考官方文档)

传输加密

修改bareos-dir.conf

修改bareos-fd.conf

修改bareos-sd.conf

数据加密

修改bareos-fd.conf

由于图片地址用的公司的,现提供PDF文件:

https://files.cnblogs.com/files/wsl222000/%E4%BD%BF%E7%94%A8bareos%E5%A4%87%E4%BB%BD.pdf

使用bareos备份的更多相关文章

  1. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  2. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  3. MongoDB备份(mongodump)和恢复(mongorestore)

    MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe和mongorestore.exe文件 1.备份数据使用下面的命令: >mongodump -h ...

  4. 分享一个MySQL分库分表备份脚本(原)

    分享一个MySQL分库备份脚本(原) 开发思路: 1.路径:规定备份到什么位置,把路径(先判断是否存在,不存在创建一个目录)先定义好,我的路径:/mysql/backup,每个备份用压缩提升效率,带上 ...

  5. 数据库备份并分离日志表(按月)sh 脚本

    #!/bin/sh year=`date +%Y` month=`date +%m` day=`date +%d` hour=`date +%H` dir="/data/dbbackup/f ...

  6. 我的MYSQL学习心得(十四) 备份和恢复

    我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  7. Linux 中我该如何备份系统

    系统备份概述 在前面的一些文章中,我反复提到经常会把系统搞崩溃,所以备份系统就是一件不容忽视的事情.由于 Linux 系统本身的优越性,系统的备份和还原还是比较容易的.主要表现在以下方面: Linux ...

  8. Atitit.每月数据采集与备份 v4

    Atitit.每月数据采集与备份 v4 备份检查表 r12 00cate 00item im Inputmethod  ok ok Log Log ok cyar Cyar log  ... ok c ...

  9. Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索

    Atitit 知识管理的重要方法 数据来源,聚合,分类,备份,发布 搜索 1.1. Rss 简易信息聚合(也叫聚合内容 Really Simple Syndication1 1.1. Rss 简易信息 ...

随机推荐

  1. jQuery对html元素取值与赋值

    以下总结了常用的jQuery选择器对html元素取值与赋值 Textbox:  var str = $('#txt').val(); $('#txt').val("Set Lbl Value ...

  2. 01_Jdk自带SPI

    [SPI的设计目标] 面向对象的设计里,模块之间是基于接口编程,模块之间不对实现类进行硬编码. 一旦代码里设计具体的实现类,就违法了可插拔的原则,如果需要替代一种实现,就要修改代码. 为了实现在模块装 ...

  3. 28_Future模式1

    [Future模式] Future模式类似商品订单.比如在网购时,当看中一件商品时,就可以提交订单,当订单处理完成后,在家里等待商品送货上门即可.或者类似我们发送Ajax请求的时候,页面是异步的进行后 ...

  4. java、C语言实现数组模拟栈

    java: public class ArrayStack { private int[] data; private int top; private int size; public ArrayS ...

  5. SVNKit学习——使用低级别的API(ISVNEditor接口)直接操作Repository的目录和文件(五)

      本文是参考官方文档的实现,官方wiki:https://wiki.svnkit.com/Committing_To_A_Repository 本文核心使用的是ISVNEditor这个接口直接对Re ...

  6. ubuntu 启用root用户方法

    1.按下ctrl + alt + T,输入 sudo passwd root设置root的密码,如下图所示: 2.使用su root来测试是否可以进入root用户,如果出现#说明已经设置root用户的 ...

  7. linux(centos、ubuntu)网卡配置文件不生效

    今天遇到个问题,服务器上ifcfg配置了eth0文件,但是通过ifcfg命令检查发现网卡IP配置并未生效. 然后通过如下配置修正: ubuntu: # vim /etc/default/grub在”G ...

  8. Python学习---基础函数的学习

    1.1. 基础函数 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 灌输一个概念:Python中函数就是对象,函数和我们之前的[1,2,3],'abc ...

  9. 原生js实现类名(class)的增、删

    先判断是否有这个类名: function hasClass( elements,cName ){   return !!elements.className.match( new RegExp( &q ...

  10. SVN安装操作流程

    SVN 安装操作流程 1.服务端安装流程 1.1 双击打开svn-server安装包 1.2 点击Next 1.3 勾选上“I accert the terms in the License Agre ...