Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dansimau/config-tracker
Track and notify of changes to server configuration files using git.
https://github.com/dansimau/config-tracker
Last synced: 8 days ago
JSON representation
Track and notify of changes to server configuration files using git.
- Host: GitHub
- URL: https://github.com/dansimau/config-tracker
- Owner: dansimau
- License: other
- Created: 2011-08-12T14:01:29.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2011-12-07T14:17:49.000Z (almost 13 years ago)
- Last Synced: 2024-08-01T12:28:02.023Z (3 months ago)
- Language: Shell
- Homepage:
- Size: 117 KB
- Stars: 12
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 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.confOptionally 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: [email protected]
Subject: [config tracker] shared-php5 commit: d234d1e - etc/foo
Date: Fri, 12 Aug 2011 19:14:14 +0100 (BST)
From: [email protected] (root)
commit d234d1eff3587bfaee20f821f6c0653ef5db7ddf
Author: root
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)