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.