Search code examples
gitmirror

Mirror a git repository by pulling?


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.


Solution

  • 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.