导语

备份工具千千万,为何 Borg 能在生产环境中脱颖而出?相比传统的 Tar 或 Rsync,Borg 不仅支持压缩与加密,更内置数据去重功能,能以最小空间存储多版本备份。本文将详解这个「备份瑞士军刀」的核心特性与实战用法。

一、Borg 核心优势

  • 去重机制:自动识别重复数据块,仅存储一份副本,大幅节省空间。
  • 端到端加密:支持仓库级加密(repokey)或文件级加密(keyfile)。
  • 增量备份:仅记录变更数据,每次备份时间与空间消耗线性增长。
  • 压缩算法:支持 LZ4、Zstandard 等高效压缩,减少存储与传输成本。
  • 数据完整性:通过校验和确保备份数据可恢复且未被篡改。

二、安装与版本选择

1. 通过包管理器安装(适用于稳定版)
# Ubuntu 24.04
sudo apt install borgbackup  # 版本 1.2.8
# CentOS/RHEL
sudo dnf install borgbackup
2. 使用 pipx 安装最新版(推荐)
# 先安装 pipx
sudo apt install pipx
pipx ensurepath
# 安装 Borg 1.4.0+
pipx install borgbackup

三、实战:从零搭建备份系统

1. 初始化备份仓库(带加密)
# 在本地或远程服务器创建仓库
borg init --encryption=repokey /path/to/repo  # 仓库级加密
# 或使用密钥文件加密
borg init --encryption=keyfile /path/to/repo

提示:repokey 加密将密码与仓库绑定,keyfile 加密需单独管理密钥文件,建议根据安全需求选择。

2. 创建首个备份归档
# 格式:borg create [仓库路径]::[归档名称] [文件/目录路径]
borg create /path/to/repo::2024-09-26 ~/documents ~/projects \
  --compress zstd  # 使用 Zstandard 压缩(推荐)
  --exclude '.git'  # 排除 Git 仓库
  --progress  # 显示进度
3. 查看备份列表与内容
# 列出所有归档
borg list /path/to/repo
# 查看归档中的文件
borg list /path/to/repo::2024-09-26
# 预览文件内容
borg cat /path/to/repo::2024-09-26/home/user/documents/readme.txt
4. 恢复数据
# 恢复整个归档到指定目录
borg extract /path/to/repo::2024-09-26 -C /tmp/restore
# 恢复单个文件
borg extract /path/to/repo::2024-09-26 /home/user/documents/important.pdf

四、进阶技巧:自动化备份与策略

1. 定时备份(Cron 示例)

创建 backup.sh 脚本:

#!/bin/bash
REPO=/backup/server1
SRC=/home/user/docs:/var/www/html:/etc

borg create $REPO::$(date +%Y-%m-%d) $SRC \
  --compress zstd \
  --exclude-caches \
  --exclude '.git' \
  --prune $REPO \
    --keep-daily=7 \
    --keep-weekly=4 \
    --keep-monthly=6 \
  --verbose

添加到 Cron 任务:

0 2 * * * /path/to/backup.sh > /var/log/backup.log 2>&1
2. 远程备份(SSH 连接)
# 备份到远程服务器
borg create ssh://user@remote:/path/to/repo::daily-backup ~/data
# 从远程仓库恢复
borg extract ssh://user@remote:/path/to/repo::2024-09-26 /tmp/restore

五、最佳实践与注意事项

  • 多副本策略:建议采用「3-2-1 备份原则」(3 份副本,2 种存储介质,1 份异地备份)。
  • 密码管理:使用密码管理器存储 Borg 仓库密码,避免明文存储。
  • 空间监控:定期执行 borg info /path/to/repo 查看仓库占用情况。
  • 完整性校验:每月执行 borg check /path/to/repo 验证备份数据可恢复性。

六、总结

Borg 凭借去重、加密与压缩的「三位一体」特性,成为个人与企业备份场景的理想选择。无论是备份个人文档、服务器数据还是代码仓库,Borg 都能以简洁的命令行接口实现高效、安全的备份流程。告别繁琐的手动备份,让 Borg 为数据安全保驾护航!