NAME
changetrack - track changes to files
SYNOPSIS
changetrack [-h] [-c configfile] [-d directory] [-e] [-r] [-q] [-m
message] [-M message] [-v] [-u] [-o toaddress] [-f fromaddress]
DESCRIPTION
changetrack is a program to monitor changes to a bunch of files. If
files are modified one day, and the machine starts working incorrectly
some days later, changetrack can provide information on which files
were modified, and help locate the problem.
Normally changetrack uses ed to keep track of various revisions of the
files by maintaining an .ed script with the change history for each
file.
Alternatively, changetrack can use rcs to keep track of various
revisions of the files. Each file is "installed" in the rcs system the
first time that changetrack is run after that file is added to the
config file. Whenever changetrack is run after that, a copy of the file
is made, which is ’checked in’ and implicitly ’checked out’ of the rcs
system. See the man page of co for information on retrieving an old
version of the file.
Backup files (ending in tilde ~) are ignored, unless explicitely
included.
After each pattern in the file list, adding white space, a colon (:)
then more whitespace, followed by email addresses, separated by more
whitespace, will result in the changes to that file being emailed to
that address. All changes from each run are expressed in one email.
Using the email feature requires Mail::SendMail to be installed; if it
does not work correctly, an error message will be printed to standard
error.
OPTIONS
-h Display a short help message then exit.
-cconfigfile
Get the list of files to track from configfile instead of from
~/.changetrackrc (/etc/changetrack.conf for the super-user)
-doutputdirectory
Store output in outputdirectory instead of in ~/.changetrack/
(/var/lib/changetrack/ for the super-user)
-e Keep a copy of the file from when it was first added to the
changetrack configuration, and keep ed -styled changes to
rebuild the file. This option is recommended only if rcs does
not work on the machine. To recover using this means, the .ed
file should have the last several commands removed, to allow the
file to be rebuilt to the appropriate state. A command like ’cat
myfile.ed | ed myfile.original’ should be executed.
-r Disable the rcs facility.
-q Quiet mode; only print critical messages. Good for scripts.
-mmessage
Print message on each file, after checking for any changes. Good
for indicating reboots or other system events.
-Mmessage
Like -m, but message is only printed on modified files.
-v Print version and exit.
-u Use unified diffs (this only works with some implementations of
diff.
-oemailaddress
Mail output to emailaddress. This is supplementary to emails
specified in the config file.
-femailaddress
Set "From" header to emailaddress, which must be fully
qualified.
REQUIREMENTS
This program requires diff. Unless the -r switch is used, this program
requires rcs to be installed. If the -e switch is used, ed is required.
FILES
~/.changetrackrc
List of files to monitor. Each line may start with ’#’
indicating a comment. If a line is not a comment, it contains a
file/pattern to monitor, and optionally " : " followed by any
email addresses to send changes to. The filename may be a
pattern described in the same way as for ls. Note: the default
is /etc/changetrack.conf for root.
~/.changetrack/
Default directory in which to store output information. The
default is /var/lib/changetrack/ for root. All rcs files are
stored in this directory, unless a subdirectory called RCS
exists, in which case the rcs files are stored in that
directory.
/etc/cron.daily/changetrack
Script that creates the list of all files monitor.
/etc/cron.hourly/changetrack
Script that invocates changetrack.
/etc/default/changetrack
Configuration for the above two scripts.
DIAGNOSTICS
Each filename is written to standard output. rcs will print errors if
certain things go wrong. It will also print a few lines each time
changetrack is run after a new file is added to the configuration.
IDENTIFICATION
Author: Cameron J. Morland.
Manual Page Revision: 2.1 Release Date: 2001-03-06.
Copyright © 2001-2005 Cameron J. Morland.
Changed by Jens Peter Secher to reflect the Debian modifications.
SEE ALSO
ed(1), rcsintro(1), co(1)
TODO
Automate removal of out-of-date changes, to save disk space and clarify
the important changes.
BUGS
None known.