Man Linux: Main Page and Category List

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>.

                                 21 April 1993                           MM(1)