Mirror a git repository by pulling?

corydoras picture corydoras · May 3, 2010 · Viewed 21.3k times · Source

I am wondering if there is an easy way, ie like a simple cron job, to regularly pull from a remote git repository to a local read only mirror for backup purposes?

Ideally it would pull all branches and tags, but the master/trunk/head would be sufficient.

I just need a way to make sure that if the master git server dies, we have a backup location that we could manually fail over to.

Answer

gregor picture gregor · May 3, 2010

First create a mirror with

git clone --mirror [email protected]:repo.git

then setup a cron job like this:

*/1 * * * * gitbackup cd /backup/repo.git && git fetch -q --tags

This will backup the changesets every minute. Maybe you want to do this less frequently.