主要观点:2024 年 6 月,作者一直在寻找能将 Git 仓库备份到 S3 的工具,理想工具需满足特定标准(上传快照到 S3 或兼容 S3 的存储服务、以“.tar.gz”格式存储方便用标准工具恢复、可定制保留策略平衡快照频率和存储使用、开源),但现有方案都不能满足,于是创建了开源工具git-backup
。若这些需求符合 Git 备份需求,git-backup
可能正是所需。有一个GitHub 工作流示例展示了如何用git-backup
和 GitHub Actions 将公共 GitHub 仓库备份到 CloudFlare R2,每月备份一次并保留最近 3 个月的快照,且git-backup
可独立于 GitHub Actions 使用。
关键信息:
git-backup
有snapshot
(创建tar.gz
存档到指定 S3 位置)和prune
(根据保留策略删除旧快照)两个命令。- 备份示例:
$ git-backup snapshot --repo git@github.com:larose/utt.git --remote https://123.r2.cloudflarestorage.com/bucket-name --access-key-id AKIAIOSFODNN7EXAMPLE --secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。 - 修剪示例:
$ git-backup prune --repo git@github.com:larose/utt.git --remote https://123.r2.cloudflarestorage.com/bucket/base/path --retention-policy "daily=7, weekly=4, monthly=3" --access-key-id AKIAIOSFODNN7EXAMPLE --secret-access-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。
重要细节:
- 作者创建
git-backup
是为重视上述标准的开发者。 - 需用自己的凭证替换备份和修剪命令中的相关值。
- 可通过
git-backup
手动了解更多工具信息。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。