REpository ArchivER ( REAPER )是一个用于从任何 Git 服务器归档 Git 仓库的工具。
近期有较多重要的 Git 仓库因为不可抗力原因不能访问了,事后再去找备份太麻烦,希望找个空闲的 vps 定期给关注的仓库备份,把整个仓库 clone 下来,及早防范。于是花了一晚肝了这个工具,期间还遇到了 GitHub 事故。
项目地址:LeslieLeung/reaper
哎,希望事件早日平息,这些作者也安然无恙尽快回归。
go install github.com/leslieleung/reaper@latest
或从 Release 获取。
你需要创建一个配置文件来使用 REAPER 。
repository:
- name: reaper
url: github.com/leslieleung/reaper
storage:
- localFile
storage:
- name: localFile
type: file
path: /tmp/reaper
然后,你可以使用配置文件运行 REAPER 。
reaper -c config.yaml
# 或者如果你的配置文件名为 config.yaml ,只需调用 reaper
reaper
rip
命令会归档在配置中定义的单个 Git 仓库。
reaper rip reaper
run
命令会归档在配置中定义的所有 Git 仓库。
reaper run
结合 cron ,你可以定期归档 Git 仓库。
有关配置,你可以查看此示例。
REAPER 支持多种存储类型。
已经新增了使用S3作为存储和Docker运行,欢迎大家试用。
1
xoxo419 2023-11-04 05:56:16 +08:00
正好有这样的需求~😁
|
2
sorcerer 2023-11-04 06:37:58 +08:00 via Android
看了下,要手动填写仓库地址么,建议改成填写 token,否则我有 1k star,一个一个填也太累了.
|
3
loading 2023-11-04 08:13:25 +08:00
我群晖每天把我自己的 repo 都看一下要不要备份,可别光看着别人的。
|
4
lisxour 2023-11-04 08:58:23 +08:00 3
有专门这样的网站哦,https://archive.softwareheritage.org/
|
5
zhouyg 2023-11-04 10:20:44 +08:00
近期有哪些仓库又没了?
|
6
LeslieLeung OP @sorcerer #2 可以的,但是这 1k 个 repo 可能备份频率不能很高不然存储扛不住/一个小时备份不完全部。不过也可以加黑白名单或者做到增量,这个我看下。
|
7
LeslieLeung OP @loading #3 收到🫡
|
8
LeslieLeung OP @lisxour #4 是,包括但不限于 sourcegraph ,gharchive 这些在线的网站都或多或少能实现类似的需求。我这边有两个需求这些满足不了:
1. 备份一些私有的 git ,需要鉴权的 2. 仓鼠症,希望数据落在自己管辖的地方 |
9
lockheart 2023-11-04 12:33:47 +08:00 via iPhone
能连 release 一块备份吗?
|
10
dianso 2023-11-04 17:41:15 +08:00
fork 的人那么多,随便找个下载
|
11
kebamt 2023-11-04 20:47:50 +08:00
[mgedmin/ghcloneall: Script to clone/update all user/organization repos from GitHub]( https://github.com/mgedmin/ghcloneall)
[gabrie30/ghorg: Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 🥚]( https://github.com/gabrie30/ghorg) 这两个也不错,很完善了 |
12
cdlnls 2023-11-04 23:52:52 +08:00
我用的是 gitea ,可以镜像远程仓库,定期自动同步代码
|
16
LeslieLeung OP @xlinux 所以还是最好定时快照,无惧上游删库。
|