Mac 休眠时备份也会漏跑?用 Resticker 把 restic 变成可见的菜单栏工作流
restic 擅长可靠地加密备份,但它本身不会替你解决桌面用户常遇到的运维细节:笔记本睡眠时错过计划任务、备份失败后没人发现,以及恢复文件时不确定会覆盖什么。Resticker 是一个 macOS 菜单栏应用,负责按计划运行 restic,并把最近备份、数据传输量和快照状态放到容易查看的位置。它不是新的备份格式或云服务,而是 restic 的图形化调度与操作层。
先理解它补上的三个缺口
传统 cron 任务在 Mac 合盖休眠期间无法运行。Resticker 的 README 描述了补跑行为:如果设备睡过一个或多个计划时段,唤醒后只补跑一次,而不是把错过的每个时段都连续重放。菜单栏还展示上次备份时间、传输数据、下一次运行时间和近期快照,减少“任务是否真的成功”的猜测。
第二个缺口是维护。Resticker 可在成功备份后按独立周期执行 restic forget --prune 和 restic check。前者处理快照保留与清理,后者检查仓库完整性;把它们纳入工作流,比只配置备份命令更完整。第三个缺口是恢复体验:用户可以在快照文件树中勾选文件或目录,再选目标文件夹。项目文档明确说明,恢复过程不会覆盖目标中的既有文件。
安装与首次配置
项目要求 macOS 14 或更新版本,并要求先安装 restic。官方 README 提供 Homebrew 安装步骤:
brew install restic brew tap marcboeker/resticker https://github.com/marcboeker/resticker brew trust --cask marcboeker/resticker/resticker brew install --cask resticker open /Applications/Resticker.app
首次启动时应用会提示配置仓库。进入 Settings 的 Repository 页面填写仓库位置和密码;密码存放在 macOS Keychain,而非普通配置文件。再到 Backup 页面添加要纳入备份的源路径。项目默认每四小时备份一次、每天执行一次维护;所有设置变更会立即应用。实际部署前仍应确认目标仓库可访问,并用少量非关键文件先验证备份和恢复流程。
休眠补跑不等于备份策略
补跑解决的是“错过定时任务”这一类调度问题,却不能替代备份策略设计。源目录应覆盖真正需要保护的数据,同时排除可再生成的大型缓存;仓库应放在与原设备故障域不同的位置,并为仓库凭据设置独立保护。Resticker 支持 restic 可用的仓库后端,包括本地磁盘、SFTP、S3 等,但具体可用性取决于 restic 和后端配置。
有一个尤其值得注意的限制:Resticker 执行的 forget 不会按主机或标签限定,因此会影响同一仓库中的所有快照。README 建议只将它指向仅保存这台 Mac 备份的仓库。如果多个设备共用仓库,先不要启用自动清理;应先设计清楚保留规则,避免清理操作影响别的设备数据。
此外,备份与恢复不会并行执行:计划备份会等待恢复完成。取消恢复时,已写入的部分文件会保留;退出应用时也会先询问。这些行为意味着恢复目标目录应当是你预期的位置,完成后检查恢复摘要中的成功、跳过和失败数量。
适合谁,如何验证
如果你已使用 restic、希望在个人 Mac 上减少自写脚本和日志巡检,Resticker 的菜单栏状态、休眠后补跑、失败重试和点选恢复会比较实用。它并不取代 restic,也不会自动替你决定异地副本、保留周期或灾难恢复方案。上线前可以做一次小规模演练:确认菜单显示成功时间;断网或使用测试源制造一次失败,观察通知与重试;最后从快照恢复单个文件到临时目录并核对内容。
应用源码以 MIT 许可证发布。Resticker 将备份调度做得更可见,但备份是否可靠,最终仍取决于仓库隔离、清理范围和定期恢复演练。先弄清 forget 的作用范围,再把自动清理交给计划任务,才不会把“自动化”误当成“已经验证”。