MM
Section: User Commands  (1)
Updated: 21 April 1993
Index
Return to Main Contents
 
NAME
mm - mirror master
 
SYNOPSIS
mm
[flags] [package-files]
 
DESCRIPTION
mm
is the mirror master.  It runs multiple calls to
mirror
in parallel and handles locking and minimal retry times.
As with
mirror,
mm
is a package written in Perl.
mm
presumes that all the package details are stored in a directory called
packages.  All the packages for a given site must be in a file whose
name is the same as that of the site.  So in packages/sunsite.org.uk
will be all the package details for the host sunsite.org.uk.
 
OPTIONS
- -t
 - 
Ignore the minimal retry timers.
 - -o site:package
 - 
Only mirror the given site:package.
 - -debug
 - 
Enable debugging.  If this argument is given more than once the
debugging level will increase.  Currently the maximum useful level is
four.
 - -s
 - 
Enable status debugging.  This will print out the status of any
subprocess as it is spawned or as it exits.
 
 
CONFIGURATION FILE
The configuration file is parsed as a series of statements.
Blank lines and lines beginning with a hash are ignored.
There are are two kinds of statements, controls and site:package details.
Control statements are of the form:
- 
keyword=value
 
You can add whitespace around the equals.
Here is a list of the keywords and their values, any defaults are
given inside square brackets:
- home
 - 
Directory that mm chdirs to before doing any work.
['']
 - max
 - 
Maximum number of mirrors that can be running in parallel at any one time
['6']
 - mirror
 - 
This is the way to call mirror.  Any occurence of $args, $package or $site is replace with the appropriate entry from the package. Any $pkg is replaced with a version of $package with all characters that cause problems in filenames converted to underscore. The default is: exec ./mirror \$args -p'\$package' packages/\$site > logs/\$site:\$pkg 2>&1
['']
 - cmd
 - 
Run the given command. This can occur multiple times.
['']
 - cmdin
 - 
Run the given command and use its output as mm input. This can occur multiple times.
['']
 - skip
 - 
Skip the given site:package when it occurs.
['']
 
In addition to control statements there are also package details.
Each package details statement is of the form:
- 
site:package min-restart-last-ok min-restart-last-notok mirror-args
 
The site and package fields are matched against those in the packages.
A mirror will only be run to this site:package if the last mirror run
was more than
min
hours out.
The 
min-restart-last-ok
limit will be used if the last call to mirror was successful.  If the
mirror call failed then
min-restart-last-notok
will be used.
 
EXAMPLES
Here is a simple
mm
input file to manage mirroring two packages.
- 
home=/public/mirror
ftp.cl.cam.ac.uk:JIPS-nrs 20 20
hcrl.open.ac.uk:hcrl-psion 20 20
 
More usually the auxilly program
pkgs_to_mmin
will be used to automatically convert the contents of the packages
directory into the site:package statements.
- 
home=/public/mirror
cmdin=./pkgs_to_mmin packages/*
 
 
AUTHOR
Written by Lee McLoughlin <lmjm@icparc.ic.ac.uk>.
 Index
- NAME
 - 
 - SYNOPSIS
 - 
 - DESCRIPTION
 - 
 - OPTIONS
 - 
 - CONFIGURATION FILE
 - 
 - EXAMPLES
 - 
 - AUTHOR
 - 
 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved