将你的 Git 仓库备份到 S3 或任何兼容 S3 的存储中

主要观点: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-backupsnapshot(创建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手动了解更多工具信息。
阅读 12
0 条评论