拉动镜像git存储库?

cor*_*ras 42 git mirror

我想知道如果有一个简单的方法,即是一个简单的cron作业,定期从一个远程git仓库到本地只读镜像备份的目的?

理想情况下,它会拉动所有分支和标签,但主/主干/头部就足够了.

我只需要一种方法来确保如果主git服务器死亡,我们有一个备份位置,我们可以手动故障转移到.

gre*_*gor 61

首先创建一个镜像

git clone --mirror git@somewhere.com:repo.git
Run Code Online (Sandbox Code Playgroud)

然后像这样设置一个cron作业:

*/1 * * * * gitbackup cd /backup/repo.git && git fetch -q --tags
Run Code Online (Sandbox Code Playgroud)

这将每分钟备份变更集.也许你想要不那么频繁地做这件事.

  • 系统crontab中的@ ihor-kaharlichenko(/ etc中的那个)这是一个用于在其下运行作业的用户帐户. (8认同)
  • @ Sc0rian @Zart解释说:`gitbackup`是用户. (6认同)
  • 什么是gitbackup?我找不到这样的命令(也不能谷歌). (4认同)

小智 9

正如Andrew所指出的,git repo的每个克隆都是repo的完整备份.也就是说,如果您想要将某些内容自动备份到特定计算机上,您可以在备份服务器上创建一个裸仓库,并将其与要备份的所有分支一起推入其中,以便最初填充它.然后,只需设置,使尽快对"主"回购后更新钩由于有犯下被推入,它会开始他们推到备份回购.不需要cron作业或rsync,它几乎是一个真实的副本.