最近在重新捯饬我的那台群辉 NAS,把备份功能重新整理一下。
突然发现,有很多需要备份的东西,并不是以常见的文件形式保存的,比如 Git 仓库 和 电子邮箱。
完整备份 Git 仓库, 不仅仅是备份文件,同时也要备份提交记录和标签,最好的形式是把远程 Git 仓库克隆到本地的 bare Git 仓库,并定期 fetch。
因此我开发了 gitdump 工具,可以批量读取 Github, Gitea, Gitee 和 Coding 的账户信息,枚举所有用户有权限的 Git 仓库,并以 Git bare 仓库格式,增量备份到本地。
代码地址
开源地址:https://github.com/guoyk93/gitdump
下载地址:https://github.com/guoyk93/gitdump/releases/tag/v1.0.0
使用方法
配置文件
首先准备一个 YAML 格式的配置文件,名叫 config.yaml
# 要导出的目录
dir: repos
# 下载并发数
concurrency: 3