changetrack is a program to monitor changes to a bunch of files. If files are
modify 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
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.
-c configfile
Get the list of files to track from
configfile instead of from ~/.changetrackrc
(/etc/changetrack.conf for the super-user)
-d outputdirectory
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.
-m message
Print
message on each file, after checking for any changes. Good for indicating reboots
or other system events.
-M message
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.
-o emailaddress
Mail output to emailaddress. This is supplementary to emails specified in the config file.
-f emailaddress
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
File that controls the automatic invocation of
changetrack.
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.