bacula 安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

      bacula是一个很不错的备份软件,自rhel6 加入了官方仓库中,据说facebook就用它来备份数据。

       bacula分为三大部分,服务端dir、存储端sd、客户端。

       服务端是bacula的中枢神经,负责验证客户端,定制备份计划和执行备份任务;

      存储端仅仅提供存储介质,可以是硬盘,磁带,光盘等;

      客户端功能也很简单,主要提供文件备份时的上传和还原时的下载;

     由三大部分衍生出来的功能还有bconsole、bat,分别提供了服务端的命令行接口和图形接口。webmin还提供了一个强大的基于web的配置界面。

 

      提供一个自己写的脚本,快速搭建bacula服务器。

 

 
 
  1. #!/usr/bin/env bash 
  2. name=bacula_setup.sh 
  3. # author:purple_grape 
  4. # version: 0.6 
  5. # this script will create a ready-to-run bacula server 
  6. # test under scientific linux 6.1 only , use it at your own risk 
  7. #-------------------------------------------------------# 
  8. #set -x 
  9. set -e 
  10.  
  11. if [ "$(id -u)" != "0" ]; then 
  12.    echo "This script must be run as root" 1>&2 
  13.    exit 1 
  14. fi 
  15.  
  16. # install packages 
  17. yum -y install bacula-director-mysql  bacula-storage-mysql bacula-console  bacula-client  mysql-server # bacula-console-bat bacula-docs 
  18. #the last 2 packages are optional,you may need them under a GUI 
  19.  
  20. rpm -ivh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm 
  21. yum install pwgen --enablerepo=epel -y 
  22.  
  23. ip=`ifconfig eth0 |grep "inet addr" |awk '{print $2}'|cut -c 6-` 
  24. addr=192.168.1.251 
  25.  
  26. #pwgen is a passwd generator!! 
  27. dirpw=`pwgen -B 20 1` 
  28. mondirpw=`pwgen -B 20 1` 
  29. sdpw=`pwgen -B 20 1` 
  30. monsdpw=`pwgen -B 20 1` 
  31. fdpw=`pwgen -B 20 1` 
  32. monfdpw=`pwgen -B 20 1` 
  33.  
  34. sed -i.bak ' s/\@\@DIR_PASSWORD\@\@/'$dirpw'/g; s/\@\@SD_PASSWORD\@\@/'$sdpw'/g; s/\@\@FD_PASSWORD\@\@/'$fdpw'/g; s/\@\@MON_DIR_PASSWORD\@\@/'$mondirpw'/g; s/client\.example\.com/'$addr'/g;s/storage\.example\.com/'$addr'/g' /etc/bacula/bacula-dir.conf 
  35.  
  36. sed -i.bak ' s/\@\@SD_PASSWORD\@\@/'$sdpw'/g ;s/\@\@MON_SD_PASSWORD\@\@/'$monsdpw'/g' /etc/bacula/bacula-sd.conf 
  37. sed -i.bak ' s/\@\@FD_PASSWORD\@\@/'$fdpw'/g ;s/\@\@MON_FD_PASSWORD\@\@/'$dirpw'/g' /etc/bacula/bacula-fd.conf 
  38. sed -i.bak ' s/\@\@DIR_PASSWORD\@\@/'$dirpw'/g;s/localhost/'$addr'/g' /etc/bacula/bconsole.conf 
  39. sed -i.bak ' s/\@\@DIR_PASSWORD\@\@/'$dirpw'/g;s/server\.example\.com/'$addr'/g' /etc/bacula/bat.conf 
  40.  
  41.  
  42. sed -i '/50G/i\  Label Format = "test-"' /etc/bacula/bacula-dir.conf 
  43. sed -i '/test-/i\  Maximum Volume Jobs =1' /etc/bacula/bacula-dir.conf 
  44.  
  45. # mail out when get error only 
  46. sed -i '/root\@localhost/{s/mail/MailOnError/}' /etc/bacula/bacula-dir.conf 
  47.  
  48.  
  49. echo DIR_PASSWORD $dirpw         >/etc/bacula/password 
  50. echo MON_DIR_PASSWROD $mondirpw     >>/etc/bacula/password 
  51. echo SD_PASSWROD $sdpw          >>/etc/bacula/password 
  52. echo MON_SD_PASSWROD $monsdpw       >>/etc/bacula/password 
  53. echo FD_PASSWORD $fdpw          >>/etc/bacula/password 
  54. echo MON_FD_PASSWROD $monfdpw       >>/etc/bacula/password 
  55.  
  56. chmod 600 /etc/bacula/password 
  57.  
  58. # initial mysql 
  59. /etc/init.d/mysqld restart 
  60. chkconfig --level 2345 mysqld on 
  61.  
  62. # empty passwd is default in newly-installed mysql server, 
  63. # if you have set your own passwd 
  64. # please add "-p" at the end of the following command 
  65.  
  66. /usr/libexec/bacula/grant_mysql_privileges 
  67. /usr/libexec/bacula/create_mysql_database 
  68. /usr/libexec/bacula/make_mysql_tables 
  69.  
  70. # restart services and set them on-boot 
  71. /etc/init.d/bacula-dir restart 
  72. /etc/init.d/bacula-fd restart 
  73. /etc/init.d/bacula-sd restart 
  74. chkconfig --level 2345 bacula-dir on 
  75. chkconfig --level 2345 bacula-fd on 
  76. chkconfig --level 2345 bacula-sd on 
  77.  
  78. # the end 









本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/933802,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
Linux Shell Python
-bash: pip: command not found pip命令报错 解决方法(Centos版)
-bash: pip: command not found pip命令报错 解决方法(Centos版)
4426 0
|
存储 Web App开发 运维
发布、部署,傻傻分不清楚?从概念到实际场景,再到工具应用,一篇文章让你彻底搞清楚
部署和发布是软件工程中经常互换使用的两个术语,甚至感觉是等价的。然而,它们是不同的! • 部署是将软件从一个受控环境转移到另一个受控环境,它的目的是将软件从开发状态转化为生产状态,使得软件可以为用户提供服务。 • 发布是将软件推向用户的过程,应用程序需要多次更新、安全补丁和代码更改,跨平台和环境部署需要对版本进行适当的管理,有一定的计划性和管控因素。
4349 1
|
数据可视化 Docker 容器
Docker安装Rancher
Docker安装Rancher
492 2
|
SQL 关系型数据库 MySQL
大量delete mysql的数据时,为什么导致OOM
大量delete mysql的数据时,为什么导致OOM
|
前端开发 JavaScript 小程序
【uniapp】十分钟带你封装uniapp的api请求
【uniapp】十分钟带你封装uniapp的api请求
713 0
|
存储 消息中间件 缓存
RocketMQ如何保证消息的可靠性?
消息的发送方式有哪几种?存储消息的可靠性面临哪些挑战?消费消息的确认机制是怎样的?本文通过分析消息流转的整个过程,从消息发送、消息存储和消息消费三个阶段介绍RocketMQ是如何保证消息的可靠性的。
RocketMQ如何保证消息的可靠性?
|
算法 定位技术
无线定位中TDOA时延估计算法matlab仿真
无线定位中TDOA时延估计算法matlab仿真
|
存储 弹性计算 运维
最具性价比的阿里云容灾方案
本文以阿里云为目标容灾端,以传统容灾方式和HyperBDR云容灾工具的两种容灾方式为例,向运维工程师们分析了中小企业进行云容灾分别需要花费多少成本,由此得出最具性价比的阿里云容灾解决方案。
|
Linux
Linux软件管理RPM的使用
上一章学习了YUM工具的使用,这篇文章学习RPM的使用,首先会介绍什么是RPM,RMP是干什么的,然后学习怎么使用RPM,这是本篇文章需要学习的内容
403 0