> CentOS > CentOS服务器 > 备份还原 >

CentOS6.3关于Bacula服务器部署

bacula

 

前言:众所周知Bacula是开源软件的佼佼者,成为大中型企业备份数据的首选,支持完全备份、增量备份、差异备份和各种自定义备份计划,搭建Bacula环境成为服务器管理人员必备的基本功,今天我们就来用最便捷的方法部署Bacula服务器环境。

环境:全新以最小化包安装32位CentOS6.3系统,数据库采用Mysql,以Httpd和PHP作为Web环境,当然主角是我们的Bacula,最后安装一款不错的Bacula页面管理软件Bacula-Web,大部分以yum安装可不必考虑详细版本。

如下列表:

软件名称

版本

用途

Mysql数据库 mysql-5.1.69 用于记录Bacula操作
Apache httpd-2.2.15 Web环境
PHP php-5.3.3 PHP环境
Bacula bacula-5.2.6 用于数据备份恢复
Bacula-web bacula-web.5.2.10 Web管理查看记录

实施

1、安装环境

用 yum分别安装Mysql、PHP、PHP扩展、Httpd并设置开机启动;安装完毕用命令’echo $?’查看是否执行成功,显示为0说明无错误,显示非0说明执行错误需要查找问题;默认未开启80端口这里开启一下并保存规则到’iptables’文件中以便下次开机时也能生效。

# yum install -y mysql mysql-server mysql-devel

# yum install -y php php-gd php-mysql php-gettext php-pdo php-dom php-xml php-pgsql

# yum install -y httpd

# echo $?

# chkconfig mysqld on

# chkconfig httpd   on

# iptables -I INPUT -p tcp –dport 80 -j ACCEPT

# service iptables save

2、安装Bacula

下载:http://sourceforge.net/projects/bacula/files/bacula/5.2.6/

# tar xf bacula-5.2.6.tar.gz

# cd bacula-5.2.6

# ./configure –prefix=/usr/local/bacula –with-mysql

# make && make install

开机启动配置

# cp /usr/local/bacula/sbin/bacula /etc/init.d/bacula

# vi /etc/init.d/bacula      //添加如下信息并保存

#!/bin/sh

# chkconfig: 345 90 90

# description: Bacula

# chkconfig –add /etc/init.d/bacula

# chkconfig bacula on

# chkconfig –list

# service bacula start

3、初始化Mysql

# cd  /usr/local/bacula/etc/

# ./grant_mysql_privileges

# ./create_mysql_database

# ./make_mysql_tables

说明:yum安装的Mysql默认root密码为空,以上三个配置文件默认Mysql也是root密码为空,创建的bacula数据库账号为bacula密码也为空,这里需要注意一点如果我的数据库是编译安装并指定了数据库密码该怎么办,这时就要稍微改动以上三个配置文档,

将配置文件中“ if $bindir/mysql $* -f <<END-OF-DATA ” 或 “ if $bindir/mysql $* -u root -f <<END-OF-DATA ” 统一改为  ” if $bindir/mysql $* -u root -p  -f <<END-OF-DATA ” ,这样在执行命令时就会让你输入你指定过的root密码,是不是很好玩啊!

修改bacula数据库密码,如果你对安全很重视那么建议你修改bacula密码,因为默认密码为空。

mysql>grant all privileges on bacula.* to bacula@localhost identified by ‘woiit.net’;

mysql>flush privileges;

4、安装bacula-web

下载:http://www.bacula-web.org/download/articles/bacula-web-release-5210.html

# tar xf bacula-web.5.2.10.tar.gz

# cp -R bacula-web /var/www/html

# cd /var/www/html

# chown -R apache:apache bacula-web/

# chmod -R u=rx,g=rx,o=rx bacula-web/

# chmod -R 777 bacula-web/application/view/cache

修改数据库连接信息

# cd bacula-web/application/config/

# cp config.php.sample config.php

# vi config.php

//MySQL bacula catalog

$config[0]['label'] = ‘Backup Server’;

$config[0]['host'] = ‘localhost’;

$config[0]['login'] = ‘root’;

$config[0]['password'] = ”;

$config[0]['db_name'] = ‘bacula’;

$config[0]['db_type'] = ‘mysql’;

$config[0]['db_port'] = ’3306′;

注意:

1、config.php文件passwd处如果默认密码为空则如上所示,如果自定义了密码则填写相应的密码便可;

2、如果修改了bacula密码那么在bacula-dir.conf文件中也要修改成相应的密码以便连接数据库;

参考资料

1、高性能Linux服务器构建实战:运维监控、性能调优与集群应用,第4章 开源网络备份软件bacula(第92页);

2、Bacula管理手册,5. Bacula-Web (第31页);

3、http://blog.chinaunix.net/uid/14117922.html

常见故障:

1、9101端口无法启动,也就是bacula-dir无法启动,语法检测如下

# /usr/local/bacula/sbin/bacula-dir -v -f -c /usr/local/bacula/etc/bacula-dir.conf

bacula-dir: dird.c:954 Could not open Catalog “MyCatalog”, database “bacula”.

18-Jun 23:05  Message delivery ERROR: fopen /var/bacula/log failed: ERR=No such file or directory

18-Jun 23:05  Message delivery ERROR: fopen /var/bacula/log failed: ERR=No such file or directory

bacula-dir: dird.c:959 mysql.c:210 Unable to connect to MySQL server.

Database=bacula User=bacula

MySQL connect failed either server not running or your authorization is incorrect.

18-Jun 23:05 bacula-dir ERROR TERMINATION

Please correct configuration file: /usr/local/bacula/etc/bacula-dir.conf

18-Jun 23:05  Message delivery ERROR: fopen /var/bacula/log failed: ERR=No such file or directory

——该错误会造成bacula-web管理页面白屏无显示并且9101端口无法开启,bacula-dir数据库配置错误原因未连接到数据库,修改如下配置即可;

# vi bacula-dir.conf

Catalog {

Name = MyCatalog

dbname = “bacula”; dbuser = “bacula”; dbpassword = “woiit.net”

}

(责任编辑:IT)