下载地址

http://www.amanda.org/download.php

http://www.zmanda.com/download-amanda.php

编译安装

编译出错:

error: perl module ExtUtils::Embed is required
# yum install perl-ExtUtils-Embed.x86_64 checking for GLIB - version >= 2.2.0... no
# yum install NetworkManager-glib-devel.x86_64 Not building 'amplot', because gnuplot was not found
# yum install gnuplot

yum安装

1. 安装

# yum install amanda-server.x86_64
# yum install amanda-devel.x86_64

此类安装方法,可能会缺少一些库

因为和系统某些依赖库的版本不一致

2. 说明

1、客户端程序是amandad 其中最重要的。此后台程序在备份运行时和 Amanda 服务器进行通信。在/usr/lib/amanda目录下还有其它的一些客户端程序

  • amandad 处理客户机和中央服务器之间的所有通信运行所有其它的客户端程序
  • selfcheck 验证本地Amanda 配置
  • sendsize 估计备份大小
  • sendbackup 执行备份操作

这些程序是 Amanda 客户端系统的一部分。但是并不能通过手工去执行他们是由客户端包的其他辅助程序来调用这些程序

2、执行各阶段实际备份操作的服务器程序。amdump 程序启动 Amanda 并且常常使用 cron 定期运行。它控制一些其他程序包括

  • planner 决定备份哪些内容
  • driver 设备接口
  • dumper 与客户端amandad 进程进行通信
  • taper 把数据写入媒介
  • amreport 准备Amanda 运行的报告

3、执行相关任务的管理工具包括

  • amcheck 验证 Amanda 配置的有效性以及此工具是否准备运行
  • amlabel 在磁带上写入Amanda卷标用于避免覆盖错磁带
  • amcleanup 在中断或系统崩溃后进行清理
  • amflush 强制把临时保存区的数据写入备份媒介
  • amadmin 查出要恢复的正确磁带并执行各种其它管理任务

4、指定 Amanda 操作的配置文件。比如备份内容、频率、位置以及磁带设备特征等。这些文件为 amanda.conf 和 disklist在/etc/amanda下每个子目录对应于一个 Amanda “配置”默认为“DailySet1”它是一套独特的设置和选项由目录名来引用

5、amrestore工具可用来恢复 Amanda 备份中的数据。此外amrecover工具支持交互式的文件恢复。它依赖于后台amindexd和amidxtaped程序进行工作

3. 客户端配置

1、启动客户端服务

在客户端编辑/etc/xinetd.d/amanda文件,将其中的“disable=yes”改为“disable=no”

service amanda
{
socket_type = dgram
protocol = udp
wait = yes
user = amandabackup
group = disk
server = /usr/lib/amanda/amandad
disable = no
} # service xinetd restart

2、授予备份此客户端的Amanda服务器和用户

编辑amanda用户主目录(/var/lib/amanda)下的“.amandahosts”文件,将服务器的主机名以及用于备份的用户名(默认为amandabackup),该文件的格式和“.rhost”类似,例如,Amanda服务器的主机名为turbolinux,用户是amandabackup,则在.amandahosts文件插入如下

turbolinux amandabackup
turbolinux root

同时,也需要把服务器和root用户的对应关系加在里面,否则在恢复数据的时候将不能访问服务器。在这里设置完Amanda服务器的主机名后,同时也要在/etc/hosts文件里面指定Amanda服务器IP和主机名的对应关系,否则Amanda客户端将不能访问服务端

4. 服务端配置

1、amanda.conf

Amanda配置文档默认路径在/etc/amanda/DailySet1,在前面提到过,Amanda一个目录对应一个配置,Amanda的所有备份策略和执行命令,均通过“DailySet1”这个目录下的几个配置文档来定义

# vi amanda.conf

org "turbolinux"    #设置使用amanda的单位或者机构的名称
mailto "root@turbolinux.com.cn" #指定将报告发送的邮件地址
dumpuser amanda #指定使用Amanda备份的用户,默认为amanda用户
dumpcycle 7days #设置备份周期的长度,单位也可以是weeks,在这里设置7days和1weeks的效果是一样的
runspercycle 7 #设置每个备份周期内amanda运行的次数
tapecycle 1 tapes #设定完成一个完整的备份周期最少所需要磁带,这个需要根据备份数据量的大小来设定
ctimeout 30 #设置检测客户端超时时间,单位为秒
runtapes 1 #amdump每次运行使用磁带最大数
tapedev "/dev/nst0" #指定使用磁带机的设备名称,“/dev/nst0”表示不倒带设备
tpchanger "chg-manual" #更换下一个磁带的脚本。在disk-to-tape方式中它与tapedev只能使用其中一个,建议将该项注释掉
tapetype HP-DAT #指定磁带类型,下面将讲到如何去定义磁带类型
labelstr "^DailySet1-[0-9][0-9]*$" #设定磁带卷标格式,使用正则表达式去匹配卷标名称,磁带在使用之前,必须使用 amlabel
#指定卷标,下面将会讲到amlabel的用法
logdir "/var/log/amanda" #指定日志文件存放的目录,默认存放在amanda配置目录下
indexdir "/var/adm/index" #指定存放备份集索引数据目录,默认为amanda配置目录下的index目录

在配置文件中包含了许多预定义的磁带类型,所以一般都不需要自己手工去定义磁带类型,关于定义磁带类型的格式以及参数见如下:

define tapetype HP-DAT
{
comment "DAT tape drives" 对于磁带类型的描述
filemark 111 kbytes 文件标志大小
speed 468 kbytes 磁带驱动器速度
}

上面的内容表示对HP-DAT这台磁带类型的定义,磁带类型的参数尤其重要,所以不要乱修改里面的参数

holdingdisk hd1
{
directory "/dumps/amanda" 临时磁盘存放的路径
use 5 Gb 临时磁盘总共可以使用的大小
}

上面是对临时存储磁盘的定义,同时可以定义多个临时磁盘,在分配临时磁盘的大小有两种设定方法,一种是指定临时磁盘可以使用的大小,当值为0是则使用所有剩余空间;另一种是在临时磁盘这个文件系统上始终保留一定的空间,其余的则全部分配给临时磁盘使用

在amanda.conf文件,最后需要配置的就是定义转储类型,转储类型里面主要定义备份时使用的程序,压缩的类型等。如下:

define dumptype root-tar
{
global 调用前面定义的global类型
program "GNUTAR" 使用GNU tar作为备份程序,默认是DUMP
comment "root partitions dumped with tar" 描述该类型的信息
compress none 不采用压缩
exclude list "/etc/amanda/exclude.gtar" 排除备份文件的列表
}

在每个转储类型的定义中,都可以调用前面定义好的类型。如果需要对备份的数据进行压缩,有两种方式可以实现,一种是在客户端压缩,那么可在compress项设置为“compress client fast”或“compress client best”,另一种是在服务器进行压缩,则设置为“compress server fast”或“compress server best”

2、disklist

接下来需要修改的是disklist文件,disklist用于指定实际要备份的数据,里面的格式是:

client partition/mountpoint dumptype

client :需要备份的客户度计算机,可以是IP或者主机名

partition/mountpoint: 指定要备份的内容,可以是设备名或挂载点

dumptype:指定备份数据时使用的转储类型,这是在amanda.conf文件里面所定义的

例如:现在需要备份IP为192.168.1.100的客户端下面的/data目录,并使用“root-tar”的转储类型,那么只需要在disklist文件里插入如下即可

192.168.1.100 /data root-tar 

3、创建tapelist和磁带标签

tapelist文件用来记录当前可用的磁带列表,默认该文件不存在,创建该文件以及修改文件的权限的方法如下:

# > /etc/amanda/DailySet1/tapelist
# chown amandabackup:disk /etc/amanda/DailySet1/tapelist

注:凡是手工创建或指定给amanda的文件以及目录,包括前面所指定的临时磁盘存放的目录以及日志存放的目录等,其所属用户和组必须是amandabackup和disk,否则Amanda在备份的时候没有操作权限

执行amlabel命令设置卷标

# su – amandabackup
$ /usr/sbin/amlabel DailySet1 DailySet1-01

所设置的卷标一定要符合“labelstr”所指定的正则表达式,否则会报错。设置好可用卷标的磁带,会自动添加到tapelist列表里

RPM安装

# rpm -ivh amanda-backup_server-3.3.7-1.rhel6.x86_64.rpm
error: Failed dependencies:
perl(JSON) is needed by amanda-backup_server-3.3.7-1.rhel6.x86_64
perl(XML::Simple) is needed by amanda-backup_server-3.3.7-1.rhel6.x86_64
xinetd is needed by amanda-backup_server-3.3.7-1.rhel6.x86_64

找到和系统版本一致的包来安装,不然库不一致

解决方法:

# yum install perl-XML-Simple.noarch
# yum install perl-JSON.noarch
# yum install xinetd

amanda安装的更多相关文章

  1. CentOS7安装配置Amanda

    参考: https://wenku.baidu.com/view/881e0c998e9951e79a892759.html yum  -y  install  amanda* http://blog ...

  2. [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    from:  http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...

  3. Centos6.4下Yum命令安装Mysql数据库及配置

    如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了 如果要开发web项目,我们当然可以安装一个 ...

  4. Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】

      如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...

  5. Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

    原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  6. Ubuntu 12.04下虚拟磁带库mhvtl的安装和使用

      项目需要连接一下昆腾虚拟磁带库DXI 6701 ,这玩意太贵,不好得到,先弄个虚拟软件测试了, 网上了一下,有这个软件: mhvtl   主页: https://sites.google.com/ ...

  7. Linux学习之CentOS6下Mysql数据库的安装与配置

    转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...

  8. Linux CentOS6.4下Mysql数据库的安装与配置

    一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  9. Linux(Centos)下安装MySQL

    转载:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 一.mysql简介 说到数据库,我们大多想到的是关 ...

随机推荐

  1. MySQL分组查询统计

    GROUP BY 1.有个店铺表,字段为区域id,设备数量,店铺名称,如下: 2.如何按区域 district 统计 每个区域的设备数量,SQL如下 SELECT district, SUM( dev ...

  2. PHP接口自动化测试框架实现

    在上一份工作中,我有一部分工作是在维护一套接口自动化测试,这一篇文章,我来介绍这套接口自动化框架的设计思路. 我们来看一个简单的PHP实现的超简单的接口. ... //报名验证 private fun ...

  3. liteos动态加载(十三)

    1. 概述 1.1 基本概念 动态加载是一种程序加载技术. 静态链接是在链接阶段将程序各模块文件链接成一个完整的可执行文件,运行时作为整体一次性加载进内存.动态加载允许用户将程序各模块编译成独立的文件 ...

  4. 使用ML.NET进行自定义机器学习

    ML.NET是Microsoft最近发布的用于机器学习的开源,跨平台,代码优先的框架.尽管对我们来说是一个新的框架,但该框架的根源是Microsoft Research,并且在过去十年中已被许多内部团 ...

  5. else if 使用注意

    写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 例如:输入:ABCDE A 输出:1 错误代码如下: #include < ...

  6. 炫酷的CSS3响应式表单

    原创YouTube@ Online Tutorials css代码: * { margin: 0; padding: 0; box-sizing: border-box; font-family: ' ...

  7. CentOS7 安装 anaconda

    Anaconda是一个开源的Python发行版本,可以帮助我们更方便地配置Python环境. 如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版 0. 开始前 ...

  8. CentOS7 通过 devstack 安装 OpenStack

    安装前的准备 修改源 (可跳过) 将下载源变更到国内可以时下载速度大大提升 打开下面的文件 vim /etc/yum.repos.d/CentOS-Base.repo 将原来的注释掉改成: [base ...

  9. [PHP] Laravel5.5 使用 laravel-cors 实现 Laravel 的跨域配置

    Laravel5.5  使用 laravel-cors 实现 Laravel 的跨域配置 最开始的时候,我使用的是路由中间件的方式,但是发现中间件不起作用 这是之前使用的方式: 'cros' => ...

  10. MySQL实战45讲学习笔记:第三十五讲

    一.本节概述 在上一篇文章中,我和你介绍了 join 语句的两种算法,分别是 Index Nested-LoopJoin(NLJ) 和 Block Nested-Loop Join(BNL). 我们发 ...