Skip to content
Track and notify of changes to server configuration files using git.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib
.gitignore
LICENSE
Makefile
README.md
config-tracker
config-tracker.conf.dist
exclude.conf
include.conf

README.md

About

config-tracker is a way of keeping track of changes to server configuration files (or any files). It will periodically check for changes to /etc (and other defineable locations), store those changes in git and email a notification to the server admins.

Quick-start

Download

cd /usr/local
git clone git://github.com/dansimau/config-tracker.git config-tracker

Configure

Create and edit the configuration file to review the defaults and change the email address that notifications will be sent to:

cp /usr/local/config-tracker/config-tracker.conf.dist /usr/local/config-tracker/config-tracker.conf
vim /usr/local/config-tracker/config-tracker.conf

Optionally configure the files that are being tracked:

vim /usr/local/config-tracker/include.conf

Install

Run init to initialise and configure the repository. This will also install a crontab entry into /etc/cron.d/config-tracker and do an initial sync and commit of all the files you are going to track.

/usr/local/config-tracker/config-tracker init

And you're done. By default, an update will be run every 10 minutes from cron and a notification email will be sent with a summary of changes to any files.

Test it yourself

Make some changes to some files and then manually run an update to sync and commit all the changed files:

/usr/local/config-tracker/config-tracker update

You should receive an email with a summary of the changes:

To: dsimmons@squiz.co.uk
Subject: [config tracker] shared-php5 commit: d234d1e - etc/foo
Date: Fri, 12 Aug 2011 19:14:14 +0100 (BST)
From: root@shared-php5.squiz.co.uk (root)

commit d234d1eff3587bfaee20f821f6c0653ef5db7ddf
Author: root <root@shared-php5.(none)>
Date:   Fri Aug 12 19:14:14 2011 +0100

    M	etc/foo

diff --git a/etc/foo b/etc/foo
index e69de29..3e20166 100644
--- a/etc/foo
+++ b/etc/foo
@@ -0,0 +1 @@
+# changed my config file yeah

Editing the email

You can change the notification email by modifying the file contrib/post-commit:

vim /usr/local/config-tracker/contrib/post-commit

And then run an init to reinstall the post-commit hook (this is not harmful):

/usr/local/config-tracker/config-tracker init

Requirements

  • bash 3+
  • rsync 3+
  • git (tested with 1.5.4.3 and 1.7.3.4)
You can’t perform that action at this time.