Amanda 是什么
Amanda 是开源的网络备份调度系统:服务端集中保存配置与计划,客户端跑协作进程按需响应,备份对象写在 disklist 里,一行一条「哪台主机的哪个路径用什么方式备」。Amanda 本身只负责编排、介质管理与计划,压缩与加密能力取决于所选的备份类型实现(如 tar、amgtar 等),评估时要两者合起来看。
基本信息
| 核心配置 | amanda.conf(策略、介质、保留)与 disklist(备份对象与计划) |
|---|---|
| 运行方式 | 服务端调度 + 客户端协作进程(amandad) |
| 常用命令 | amcheck 校验、amdump 执行、amreport 报告、amrecover 恢复 |
| 恢复方式 | amrecover 交互式挑选文件,amrestore 按介质流恢复 |
| 权限要求 | 服务端与客户端都需要专用系统用户,读全盘内容需 root |
| 通信通道 | 客户端通过受信主机清单授权服务端连接(默认走 amanda 服务端口,可在配置中调整) |
典型使用场景
- 多主机定时备份的统一编排:计划、保留期集中定义,客户端只登记路径
- 异构客户端:同一套调度同时覆盖 Linux 与 Unix 主机
- 需要按介质轮换的磁带或磁盘库环境
- 跨主机恢复:从任意一天的介质里交互式挑出某个文件或目录
- 把备份窗口收得很紧的场景:计划与类型可精细到每台主机
disklist 与常用命令
disklist 与常用命令
# /etc/amanda/DailySet/disklist:主机 路径 备份类型
host1 /var/www comp-user-tar # 应用目录,排除缓存
host2 /home comp-user-tar
host3 /data comp-amgtar # 需要 ACL 与扩展属性时用 amgtar
# 跑之前先校验配置与客户端连通性
amcheck DailySet
# 执行一次备份(通常由 cron 触发)
amdump DailySet
# 查看运行结果摘要
amreport DailySetdisklist 列读法
| 列 | 含义 | 正常/异常 |
|---|---|---|
| 主机名 | 被备份客户端,需与 DNS 及授权清单一致 | 解析不一致会导致备份静默失败 |
| 路径 | 挂载点或目录,客户端上必须存在且可读 | 路径不存在时该条被跳过并留下错误 |
| 备份类型 | 决定压缩与加密实现,如 comp-user-tar、comp-amgtar | 与服务端配置的 dumptype 不匹配会报配置错 |
| 可选参数 | 如 exclude 排除规则、estimate 估算方式 | 排除规则写错会把无关数据纳入备份 |
Amanda 的客户端授权依赖受信主机清单:客户端只接受清单里登记的服务端连接。调整服务端地址或多网卡部署后,务必同步更新客户端授权并做一次 amcheck 验证。
amcheck 是低成本的日常体检:它校验配置、介质与客户端连通性,不写数据。把它放进定时任务,可以在备份窗口开始前发现大部分问题。