We use a system of scripts called
to coordinate changes. The idea is to provide a mechanism to keep various admins (in different locations, and with different types of reachability) from bumping into each other.
admchange - control changes by system administrators
startchange - begin a large change, with locking
endchange - end a large change, releasing lock
logchange - log a note about a smaller change
*change [-b] [-e] [-m message]
Helps keep track who is making changes to the system at any given time, and preven collisions of same. Maintains a changelog to keep a record of these changes over time.
Operation being performed is determined by the name the script is called as. Intent is for links to be made to master
script. Do not call as
In all three modes, the user provides a message to describe the change. Defaults to prompting using
for input, RCS-style. Will use your
instead if you call this script with
option. Can also specify a message as an argument using
option (useful for short one-liners, e.g.,
logchange -b -m 'restarted apache'
The message is recorded in the change log and broadcast using
option suppresses the wall broadcast.
to begin a large change. A "large change" is one which will take some time to finish, during which time other admins should not make changes. This establishes a lock to prevent another
from being started before
is called. The message entered is also added to
to alert any new logins.
to signal the end of a change begun with
, and release the lock. Restores
to log a minor change which doesn't need to be guarded by locking. This does not touch
at all. Can be used while
is in effect (useful for checkpoint logging).
. I was going to include Mike Ledoux's instructional message in here, but I can't find it in the archives! -- BruceDawson
- 23 Feb 2006
That's because I never wrote one. I described a method that I thought would work to control access, then quickly wrote the scripts to do it and sent them up to the server. Usage is simple, really, just run
as yourself before making any changes, then run
when you are done. The scripts will prompt you for a log message (reading from stdin, redirection works fine; or use the
option to fire up a real editor) then do all the magic for you. -- MikeLedoux
- 27 Feb 2006
The scripts have been combined into one multi-call script, and some functionlity added. The script and links now live
with data files in
. There is a
script one can run to record notes on a change that didn't need the start/end guarding. See the source for details. -- BenScott
- 03 Apr 20
The script keeps getting tweaked to add (creeping) features. I attached the latest version of the
script to this page, in case others might find it useful. The source is fairly well-commented, with usage instructions at the top. Share and enjoy! -- BenScott
- 21 May 2006