Dr Andrew Scott G7VAV

My photo
 
April 2024
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12


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


for client 18.217.220.114
© Andrew Scott 2006 - 2024,
All Rights Reserved
Andrew Scott