Keelhaven:macOS 菜单栏的 restic 备份工具,免费开源

Keelhaven 是一个纯菜单栏的 macOS 备份应用,没有 Dock 图标,也没有主窗口。备份引擎是 restic,加密、去重、增量都交给它,Keelhaven 负责界面、定时和密码管理。

用起来是三步:选要保护的文件夹,选一个自己拥有的存储(外置硬盘、NAS/SFTP,或者任意 S3 协议的对象存储,比如 Backblaze B2、Wasabi、Cloudflare R2),再设一个定时(每小时/每天/每周)。设好之后它就在后台安静地跑,只有出错才弹通知。

仓库密码只存在 macOS 钥匙串里,不落盘、不写日志,也不会作为命令行参数传给 restic 子进程。写出来的是标准的 restic 仓库,哪天不用 Keelhaven 了,用 restic 命令行本身也能继续读取和恢复,不会被锁死在一个私有格式里。

每个计划还会按计划跑一次 restic check(默认每周一次)验证仓库完整性,通过了不吭声,出问题才提醒,避免备份坏了很久都没人发现。

restic 需要访问任意目录、网络和 SSH,App Store 的沙盒放不下,所以目前只有 Homebrew 和一行 curl 脚本两种安装方式:

brew install --cask shenxianpeng/tap/keelhaven
curl -fsSL https://keelhaven.app/install.sh | bash

还没有申请 Apple 开发者证书:上面两条安装命令都会在安装时清掉隔离标记,能直接打开;如果是从官网下载 dmg 双击安装,首次需要手动允许一次。

GPLv3 开源,界面支持中英文双语,v0.5.0 公测中。

官网:https://keelhaven.app
源码:GitHub - shenxianpeng/keelhaven: Privacy-first macOS menu-bar backup app powered by restic · GitHub

支持以restic-rest-server为目的地吗?

现在还不支持,目前的目的地是本地磁盘、S3 兼容存储和 SFTP。rest-server 在计划里,restic 本身对它支持得很好,接进来不难。我在 GitHub 开了个 issue 跟踪:Support restic rest-server as a destination · Issue #34 · shenxianpeng/keelhaven · GitHub 。你方便的话说一下你的 rest-server 是自建还是用的现成镜像、有没有开 --private-repos 或 --append-only,我照着你的场景做。

谢谢!

我在局域网通过Docker自建的rest-server基本上是默认参数,–private-repos 和 --append-only这些都没有开启