A cron logger for recording cron jobs and output back to a central server
Switch branches/tags
Nothing to show
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.
server
COPYING
README
TODO
cronologue
cronologue.conf
cronologue.spec

README

Cronologue
==========

cronologue is a cron logger i.e. a wrapper that executes a command, 
capturing any stdout and stderr streams produced, and logging a job 
record and these output streams back to a central log server. Job 
records and output files are recorded as plain text files, and 
pushed to an apache web server via HTTP PUT.

The following items are captured:
- hostname the script ran on
- username the script ran as
- time started
- time finished
- job duration
- return code
- command line
- stdout stream (if any)
- stderr stream (if any)

The cronologue client is written in perl, and requires the following
perl modules:

- Config::Tiny
- Digest::MD5
- Time::Piece
- IPC::Run3
- LWP::UserAgent

The cronologue server uses apache with mod_dav for recording job
records and output streams as text files.

Cronologue also includes a web gui built using blosxom (included),
which requires apache mod_cgi.


Installation
------------

RPM packages for CentOS/RHEL5 are available from my yum repository.
See http://www.openfusion.net/linux/openfusion_rpm_repository for
details.

Otherwise ...

Client: 
- run 'perl -c cronologue' to check you have all the required perl modules
- copy 'cronologue' to somewhere in your path
- if you want to use the 'cronologue.conf' file (which currently only sets
  'cronologue_server' to something other than 'localhost'), copy it to
  /etc/cronologue.conf

Server:
- edit server/config/apache.conf and adjust Allow directives
- copy server/config/apache.conf to your apache conf.d directory
- create a /var/www/cronologue directory
- copy the contents of the server directory to /var/www/cronologue
  e.g. sudo cp -r server/* /var/www/cronologue
- check that mod_cgi and mod_dav are enabled in your apache config
- restart apache
- go to http://yourhost.example.com/cronologue

Test using: 'cronologue echo "Hello World"'. This should succeed, and you 
should get a job record showing up on the web interface (and a file in
/var/www/cronologue/data/<hostname>).


Acknowledgements
----------------

cronologue is inspired by Vladimir Vuksan's cronologger 
(https://github.com/vvuksan/cronologger), which uses couch db to store
job records, and a simple php web interface.



Author
------

Copyright 2010 Gavin Carr <gavin@openfusion.net>.


Licence
-------

Cronologue is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.