Home > Uncategorized > Git your configs backed up

Git your configs backed up

August 1st, 2009

Configuration files of integration and test servers are often accessible by all team members. This is a good thing, as changes to configuration can be made quickly without holding up the test process while having to wait for a system administrator to make the necessary changes.

But what I have often found is that the same servers seldom have proper backups of the important configuration files. I remember getting a lot of resistance from team members a few years ago when I suggested to use RCS to version control these files. RCS was not widely known and many found the syntax awkward, or at least hard to remember. But when I on top of this suggested to copy the configuration file tree to a disk on another server using rsync (to avoid the hassle of setting up a tape backup), I was sure to see my suggestion getting ignored.

Nowadays, git will easily perform both the version control task and the copy-to-remote-disk tasks. I use it for all my apache configuration files for example. One of the servers I administer acts as a proxy for several web applications that each are have very different virtual server configurations. With a version control for the entire tree in place it feels very relaxing making changes to individual applications when I know I can always roll back, should I mess up.

From my server with a real taped backup system in place I simply git pull my various git repositories using cron…and sleep well, knowing all my configuration changes are version controlled and backed up on tape.

Uncategorized

  1. Björn Wennerström
    November 3rd, 2009 at 17:25 | #1

    Did you consider using Mercurial? If so, may I ask why you chose git?

  2. November 27th, 2009 at 18:18 | #2

    No, I haven’t considered using Mercurial. The choice of git was the most convenient for me as I use it daily.

    When developing, I like the how easy it is to change the history when using git. But those features have no bearing in this context. I’m sure Mercurial would do equally well.

  1. No trackbacks yet.