The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

mnm - Merge and Mirror sources and archive/backup repositories

SYNOPSIS

mnm {-h | --help} {--man } (--test} {-q | --quiet} <backuplistfile>

Description

Read the backup list file one line at a time and for each line carry out an rsync of the source set to the destination repository. The lines carry information on whether to MIRROR or MERGE and whether NOKEY is required or a specified ssh identity is needed. Typical lines in that file would be:

 MIRROR NOKEY ALL STD /my/srcdir /my/dstdir
 MERGE /root/.ssh/id_key /Admin/list 2222 /my/archivedir root@foo.baz.com:/my/dstdir

MIRROR means make the destination exactly like the source, which implies deletion of files which are at the destination but not in the source; MERGE means just shove files from source into the destination and leave the unmatched files at the destination alone.

NOKEY means there is no identify key required; the alternative is the absolute path to an ssh private key to be used to initiate the connection. This is required for machine to machine communications so that password prompts will not occur.

ALL means the entire tree of files in the source definition will be copied; otherwise the location should be a file using the rsync include-from syntax.

STD means use the standard ssh port, tcp25. Otherwise a private ssh port number should be supplied. This is often useful for sessions port-forwarded through a firewall.

The file name must contain quoting if there are meta characters in it, for instance, Air&Space would appear as:

        Air\&Space

This command and the associated list file make it easy to move files all over the place, whether between local disks or between multiple machines over the world.

Command switches are:

 --quiet Don't show what we are doing. The default is to have rsync
 -q      report what files are affected as this is an archive 
         support mechanism that requires a 'paper trail' of what
         is done. This switch is provided for those who do not care.

 --test  Run in test mode. Rsync commands are executed but no changes
         are made to the file system.

 --man   Print the pod documentation.

 --help  Print program usage info.
  -h

Examples

 None.

Errors and Warnings

 None.

KNOWN BUGS

 None.

SEE ALSO

 rsync, ssh.

AUTHOR

Dale Amon <amon@vnl.com>