数据备份是NAS用户最重要的课题,没有之一。硬盘会坏、勒索软件会攻击、误操作会删文件——只有完善的备份策略才能在灾难来临时拯救你的数据。传统的rsync全量同步虽然简单,但面对TB级数据效率低下。本文将介绍两款现代化的备份工具——Restic和BorgBackup,它们都支持增量备份、数据去重和端到端加密,是NAS备份自动化的最佳选择。

NAS备份自动化进阶:用Restic和Borg实现增量加密备份的完美方案

一、现代备份工具的核心优势

Restic和BorgBackup代表了备份工具的新一代设计理念。与传统备份方案相比,它们共同具备以下核心特性:增量备份——每次备份只传输新增或修改的数据块,大幅节省存储空间和网络带宽。备份TB级数据时,增量备份通常只需几分钟。数据去重——即使文件被重命名或移动到不同目录,只要内容相同就不会重复存储。这对于NAS上的照片和视频库特别有效,因为很多文件可能存在多份副本。端到端加密——备份数据在离开NAS之前就已经加密,即使备份目标(如云存储或U盘)被盗,没有加密密钥也无法还原数据。快速挂载——可以将任意一次备份快照挂载为本地文件系统,直接浏览和恢复文件,无需解压整个备份包。

Restic使用Go语言编写,支持丰富的存储后端:本地目录、SFTP服务器、Amazon S3兼容存储(包括阿里云OSS、MinIO)、REST服务器和多种云存储。它的设计哲学是"简单可靠"——单一可执行文件,无复杂依赖,备份仓库格式稳定,跨平台兼容。注意:Restic使用原生的Go加密实现,而非OpenSSL,这在某些安全审计中可能被视为不足,但实际上经过了广泛的密码学审查。

BorgBackup(简称Borg)使用Python编写,专门针对本地和网络备份优化,支持FUSE挂载和强大的过滤规则。Borg的压缩和去重效率极高,特别适合NAS到NAS或NAS到外部硬盘的备份场景。Borg的备份仓库是目录级的,相比Restic更适合直接备份到本地挂载的硬盘或NFS/SMB共享目录。

二、Restic部署与NAS到远程服务器备份实战

在NAS上安装Restic最为简单。对于Debian/Ubuntu系统的DIY NAS,直接执行apt install restic。飞牛fnOS和CasaOS可以通过Docker方式运行。群晖DSM用户可通过SynoCommunity或Entware安装。安装后,通过restic version验证。

初始化备份仓库(以SFTP远程服务器为例):

export RESTIC_REPOSITORY="sftp:user@remote-server:/backup/my-nas"
export RESTIC_PASSWORD="your-strong-password"
restic init

Restic会提示确认密码,之后创建加密的备份仓库。执行备份:

restic backup /volume1/photos /volume1/documents /volume1/docker   --exclude-caching   --exclude="*.tmp"   --exclude="*.cache"   --tag "daily"

首次备份会传输所有数据(取决于数据量可能耗时数小时),之后的增量备份仅传输变化部分。使用restic snapshots查看所有备份版本,使用restic mount /tmp/restic-mount将备份快照挂载为本地目录,直接浏览和恢复文件。

自动清理旧备份是备份策略的重要组成部分。Restic的forget策略支持灵活的保留规则:

restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

此命令会保留最近7天的每日备份、最近4周的每周备份、最近6个月的每月备份,并删除其他旧快照以释放空间。建议将备份命令封装为Shell脚本,配置为Cron定时任务,实现每日自动备份。飞牛fnOS用户可通过系统内置的任务调度器设置。

三、BorgBackup本地备份与离线灾难恢复

BorgBackup在本地备份场景下表现更为出色,特别适合将NAS数据备份到通过USB连接的外部硬盘。安装Borg:apt install borgbackup。初始化本地仓库:

export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes
borg init --encryption=repokey /mnt/external-disk/nas-backup

Borg提供三种加密模式:repokey(推荐)——密钥加密后存储在仓库内,方便使用但需妥善保管仓库目录;keyfile——密钥单独存储为一个文件,安全性更高但密钥丢失则备份无法还原;none——不加密,仅适用于内网可信环境。执行备份:

borg create /mnt/external-disk/nas-backup::'{hostname}-{now:%Y-%m-%d_%H:%M}'   /volume1/photos   /volume1/documents   /volume1/docker   --exclude '*.tmp'   --exclude '.cache'   --compression lz4

Borg的lz4压缩算法速度极快,压缩率适中,适合CPU性能有限的NAS设备。如果NAS有充裕的算力,可以改用zstd获得更好的压缩比。备份完成后,安全弹出外部硬盘,存放在远离NAS的物理位置——这就是经典的"3-2-1备份原则"中的"1份离线副本"。

灾难恢复时,将备份硬盘连接到任何Linux系统,安装Borg后执行borg list /mnt/external-disk/nas-backup查看所有备份版本,然后borg extract /mnt/external-disk/nas-backup::备份名称恢复数据。Borg的恢复速度极快——因为采用去重和增量技术,实际需要读取的数据量远小于备份总量。有了Restic和Borg这样的现代备份工具,NAS数据的保护从未如此简单高效。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。