用 Synology ABB 备份与还原 Linux 主机:从依赖检查到整机恢复
面向 Linux 客户端的 Active Backup for Business 完整流程:先查依赖再装 Agent、CLI 手动备份、单文件还原与整机恢复,附带常见报错的定位方法。
一、概述 — 本教程适用场景
本教程面向使用 Synology Active Backup for Business (ABB) 的 Linux 客户端,涵盖以下核心场景:
| 场景 | 说明 |
|---|---|
| 首次安装 | 在 Linux 主机上安装 ABB Agent 并连接到 NAS |
| 手动备份 | 通过 CLI 手动触发备份任务,将指定目录/文件备份到 NAS |
| 还原文件 | 从 NAS 的备份快照中还原指定文件或目录到本地 |
| 整机还原 | 在新机器或故障恢复时,通过 ABB 任务还原整台 Linux 主机 |
| 计划任务 | 配合 DSM 端策略实现定时自动备份 |
二、系统要求与前置准备
2.1 支持的系统
| 发行版 | 支持版本 | 包管理器 | 状态 |
|---|---|---|---|
| Ubuntu | 16.04 – 24.04 (x86_64) | apt | 官方支持 |
| Debian | 10 – 12 (buster / bullseye / bookworm) | apt | 官方支持 |
| CentOS / RHEL | 7 – 9 | yum / dnf | 社区支持 |
| Fedora | 35+ | dnf | 社区支持 |
2.2 必需依赖一览
| 依赖 | 最低版本 | 用途 |
|---|---|---|
linux-headers | 匹配当前内核 | 编译内核模块 |
make | ≥ 4.1 | 构建工具 |
dkms | ≥ 2.2.0.3 | 动态内核模块支持 |
gcc | ≥ 4.8.2 | C 编译器 |
2.3 第一步:检查依赖是否已安装(不要直接装,先查!)
请逐条执行以下命令,检查你的系统是否已经满足所有依赖要求:
# 1. 查看当前内核版本(记下输出,后面要用)$ uname -r 6.8.0-138-generic# 2. 检查 gcc 是否已安装及版本$ which gcc /usr/bin/gcc# 有输出说明已安装$ gcc --version | head -1 gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0# 3. 检查 make 是否已安装及版本$ which make /usr/bin/make$ make --version | head -1 GNU Make 4.3# 4. 检查 dkms 是否已安装$ which dkms /usr/sbin/dkms$ dkms --version dkms-2.8.7# 5. 检查 linux-headers 是否已安装(用上面记下的内核版本)# Debian / Ubuntu 用 dpkg 检查:$ dpkg -l | grep linux-headers-$(uname -r) ii linux-headers-6.8.0-138-generic amd64 6.8.0-138.142 ...# CentOS / RHEL / Fedora 用 rpm 检查:$ rpm -q kernel-devel-$(uname -r) kernel-devel-6.8.0-138.el9.x86_64# 已安装# 或者检查头文件目录是否存在:$ ls /lib/modules/$(uname -r)/build Module.symvers arch ...# 有内容说明已安装• 如果上面 5 个命令都有正常输出 → 依赖全部就绪,跳过 2.4,直接进入第三部分安装 ABB Agent
• 如果某个命令报错(如
which: no xxx in PATH 或 no packages found)→ 说明缺少该依赖,需要按 2.4 安装 2.4 第二步:安装缺失的依赖(按系统类型选择命令)
cat /etc/os-release 可查看系统信息。 Debian / Ubuntu 系列
# 先更新软件源$ sudo apt update # 安装缺失的依赖(缺哪个装哪个,不需要全部装)$ sudo apt install -y gcc make dkms # 安装与当前内核匹配的头文件$ sudo apt install -y linux-headers-$(uname -r)CentOS / RHEL / Fedora 系列
# CentOS 7 / RHEL 7 用 yum$ sudo yum install -y gcc make dkms kernel-devel-$(uname -r) # CentOS 8+ / RHEL 8+ / Fedora 用 dnf$ sudo dnf install -y gcc make dkms kernel-devel-$(uname -r)•
kernel-devel 是 Red Hat 系系统中对应 Debian 系 linux-headers 的包名• 如果你的系统没有
dkms 软件源,可能需要先安装 EPEL 源:sudo yum install epel-release• 安装完成后,请重新执行 2.3 的检查命令,确认所有依赖均已就绪
2.5 最终确认
# 一键检查脚本(复制粘贴直接跑)$ echo "=== 系统信息 ===" && cat /etc/os-release | grep -E "^(NAME|VERSION)=" && \ echo "" && echo "=== 内核版本 ===" && uname -r && \ echo "" && echo "=== gcc ===" && gcc --version 2>&1 | head -1 || echo " 未安装" && \ echo "=== make ===" && make --version 2>&1 | head -1 || echo " 未安装" && \ echo "=== dkms ===" && dkms --version 2>&1 | head -1 || echo " 未安装" && \ echo "=== 内核头文件 ===" && (dpkg -l 2>/dev/null | grep linux-headers-$(uname -r) || rpm -q kernel-devel-$(uname -r) 2>/dev/null || echo " 未安装")三、下载并安装 ABB Agent
3.1 从 Synology 官网下载代理程序
在搜索框或型号列表中找到 你自己的 NAS 型号(如 DS923+、DS925+、DS3617xs 等),点击进入该型号的下载页
切换到 桌面应用程序(Desktop App)选项卡
找到 Active Backup for Business 代理程序(Active Backup for Business Agent),点击展开
选择对应你 Linux 系统的版本(Linux 版,.run 文件),点击下载
LinuxActiveBackupForBusiness-xxx.run。 3.2 安装步骤
进入安装包所在目录:
$ cd /path/to/download赋予可执行权限:
$ chmod +x install.run以 root 权限执行安装:
$ sudo ./install.run验证安装是否成功(确认服务已安装):
$ dpkg -l | grep synology-active-backup ii synology-active-backup-business-linux-service 2.0.0-xxxx ...$# 检查 abb-cli 是否可用$ which abb-cli /usr/bin/abb-cliabb-service 服务。如果安装失败,请检查依赖是否完整安装。 3.3 卸载方式(备用)
# 卸载备份服务$ sudo dpkg -r synology-active-backup-business-linux-service # 卸载 Agent 引擎(synosnap)$ sudo dpkg -r synosnap四、连接到 Synology NAS
4.1 基本连接(交互式)
首次连接时会提示输入 NAS 地址、用户名和密码:
$ sudo abb-cli -c Please input NAS address: 192.168.1.10Please input username: nasadminPlease input password: ********Connected successfully.4.2 直接指定参数连接
$ sudo abb-cli -c -a 192.168.1.10 -u nasadmin -p YourPassword123| 参数 | 说明 |
|---|---|
-a, --address | NAS 的 IP 地址或域名 |
-u, --username | NAS 登录用户名 |
-p, --password | NAS 登录密码 |
-q, --quiet | 静默模式,不输出过程信息 |
4.3 通过代理连接(可选)
$ sudo abb-cli -c \ -a 192.168.1.10 \ -u nasadmin \ -p YourPassword123 \ --proxy-address 10.0.0.1 \ --proxy-port 8080 \ --proxy-username proxyuser \ --proxy-password proxypass4.4 验证连接状态
$ sudo abb-cli -c Already connectedAlready connected 表示 Agent 已经和 NAS 保持连接,可以直接进行备份/还原操作。连接信息保存在 /etc/synology_abb.conf。 4.5 断开连接
$ sudo abb-cli -d五、查看 Agent 与备份信息
abb-cli -i查看客户端信息(NAS IP、连接状态等)abb-cli -s显示当前服务运行状态abb-cli -l列出当前已创建的备份任务abb-cli -v显示 Agent 版本号abb-cli -h显示完整帮助信息abb-cli -e导出 Agent 日志abb-cli -e --output-file /tmp/abb.log将日志导出到指定文件abb-cli -r重新加载服务配置查看备份任务详情示例
$ sudo abb-cli -l Task ID: 1 Task Name: daily-home-backup Source: /home Destination: NAS Status: Completed Last Backup Time: 2026-08-24 23:00:00六、执行备份操作
6.1 备份方式概览
ABB 支持两种备份触发方式:
| 方式 | 操作位置 | 说明 |
|---|---|---|
| DSM 策略备份 | NAS Web UI | 在 Active Backup for Business 中创建备份任务,设定计划策略(推荐) |
| CLI 手动触发 | Linux 客户端 | 通过命令行手动发起即时备份 |
6.2 通过 DSM 创建备份任务(推荐)
登录 NAS DSM → 打开 Active Backup for Business
进入 计算机 → 找到已注册的 Linux 客户端 → 点击 新增
选择备份来源(目录/卷),设置排除规则和计划任务
客户端只需保持 abb-cli -c 连接状态,备份任务会在计划时间自动执行
6.3 CLI 手动触发备份
如果需要立即执行备份(而非等待计划),可以使用以下命令:
# 在客户端上手动触发备份(备份任务需已创建)$ sudo abb-cli --run-task <task_id> # 例如:立即执行 task_id=1 的备份任务$ sudo abb-cli --run-task 1 Backup task started successfully.6.4 备份完成后查看结果
# 查看备份状态$ sudo abb-cli -l Task ID: 1 | Status: Completed | Time: 2026-08-25 10:30:00# 导出详细日志用于排查$ sudo abb-cli -e --output-file /tmp/backup-log.txt七、还原操作 — 文件级还原
7.1 在 DSM 中浏览备份快照
登录 NAS DSM → 打开 Active Backup for Business
进入 计算机 → 找到目标 Linux 客户端 → 点击 浏览
选择要还原的备份版本(快照时间点)
勾选要还原的文件/目录 → 点击 还原
7.2 通过 Web Station 下载还原
DSM 也支持通过浏览器直接下载备份文件到本地:
在 DSM 备份浏览界面 → 选择文件 → 点击 下载
下载到本地后,通过 scp 或其他方式传输到 Linux 客户端
7.3 还原到原始位置
在 DSM 备份浏览界面 → 勾选文件 → 选择 还原到原始位置
确认覆盖选项 → Agent 会自动将文件还原到 Linux 客户端对应路径
八、整机还原(灾难恢复)
当 Linux 主机发生硬件故障或系统崩溃时,可以通过 ABB 进行整机还原:
8.1 还原流程
准备新机器/修复硬件 → 安装 Ubuntu/Debian 基础系统 → 安装 ABB Agent → 连接 NAS → 执行整机还原8.2 详细步骤
准备一台新的 Linux 机器,安装相同版本的操作系统(Ubuntu 22.04 等)
安装 ABB Agent(参照第三部分):
$ sudo apt update $ sudo apt install -y linux-headers-$(uname -r) make dkms gcc $ sudo chmod +x install.run $ sudo ./install.run连接到 NAS:
$ sudo abb-cli -c -a 192.168.1.10 -u nasadmin -p YourPassword123 Connected successfully.在 DSM 中执行整机还原:
- 打开 Active Backup for Business → 计算机
- 选择目标客户端 → 点击 还原
- 选择 整机还原(Bare-metal Restore)
- 选择要还原的备份版本
- 选择目标磁盘 → 开始还原
还原完成后重启,系统将恢复到备份时的状态:
$ sudo reboot九、日志与故障排查
9.1 查看日志
# Agent 日志文件$ cat /var/log/synology_abb.log # 使用 journalctl 查看服务日志$ journalctl -u abb-service -f # 导出完整日志到文件$ sudo abb-cli -e --output-file /tmp/abb-full-log.txt # 查看最近 100 行日志$ tail -100 /var/log/synology_abb.log9.2 常见问题排查
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
abb-cli -c 连接失败 | 网络不通 / 端口被防火墙拦截 | 检查 NAS 的 TCP 4444 端口是否开放;确认防火墙规则 |
| 备份任务无法执行 | 服务未启动 | sudo systemctl start abb-service |
| 安装时编译失败 | 缺少内核头文件 | sudo apt install linux-headers-$(uname -r) |
| 还原文件权限错误 | 当前用户无权限 | 使用 sudo 执行还原操作 |
| 备份速度过慢 | 网络带宽不足 | 检查网络连接;考虑使用千兆/万兆网络 |
9.3 服务管理命令
# 启动 ABB 服务$ sudo systemctl start abb-service # 停止 ABB 服务$ sudo systemctl stop abb-service # 重启 ABB 服务$ sudo systemctl restart abb-service # 查看服务状态$ sudo systemctl status abb-service # 设置开机自启$ sudo systemctl enable abb-service # 取消开机自启$ sudo systemctl disable abb-service9.4 网络安全配置
# 如果使用 ufw 防火墙,允许 ABB 端口$ sudo ufw allow 4444/tcp $ sudo ufw reload # 如果使用 iptables$ sudo iptables -A INPUT -p tcp --dport 4444 -j ACCEPT $ sudo iptables-save > /etc/iptables/rules.v4十、最佳实践与注意事项
| 类别 | 建议 |
|---|---|
| 备份频率 | 建议关键数据每天备份一次,非关键数据每周备份一次 |
| 备份验证 | 定期在 DSM 中浏览备份快照,确认数据完整性 |
| 版本保留 | 在 DSM 备份策略中设置合理的版本保留策略(如保留 30 天) |
| 网络稳定 | 确保备份期间网络稳定,避免中断导致备份失败 |
| 密码管理 | 不要在脚本中硬编码密码,使用环境变量或密钥文件 |
| 监控告警 | 设置 DSM 通知,备份失败时及时收到告警 |
| 日志归档 | 定期导出日志 abb-cli -e 并归档,便于事后审计 |
| 系统更新 | 内核更新后需重新安装 ABB Agent(因为内核模块需要重新编译) |
内核更新后的重装流程
# 1. 更新内核$ sudo apt update && sudo apt upgrade # 2. 安装新内核对应的头文件$ sudo apt install linux-headers-$(uname -r) # 3. 重新安装 ABB Agent$ sudo ./install.run # 4. 验证连接$ sudo abb-cli -c Already connected十一、完整操作速查表
| 操作 | 命令 / 方法 |
|---|---|
| 安装依赖 | sudo apt install -y linux-headers-$(uname -r) make dkms gcc |
| 安装 Agent | sudo ./install.run |
| 连接 NAS | sudo abb-cli -c -a <IP> -u <用户> -p <密码> |
| 断开连接 | sudo abb-cli -d |
| 查看状态 | sudo abb-cli -s |
| 查看任务 | sudo abb-cli -l |
| 手动备份 | sudo abb-cli --run-task <task_id> |
| 导出日志 | sudo abb-cli -e --output-file /tmp/abb.log |
| 还原文件 | DSM → Active Backup → 浏览 → 选择文件 → 还原 |
| 整机还原 | 新机器安装 Agent → 连接 NAS → DSM 执行 Bare-metal Restore |
| 卸载服务 | sudo dpkg -r synology-active-backup-business-linux-service |
| 启动服务 | sudo systemctl start abb-service |
| 查看日志 | tail -100 /var/log/synology_abb.log |