Mirror a git repository by pulling?

git, mirror

Solution

First create a mirror with

git clone --mirror git@somewhere.com: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.

Problem

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.

Original source