home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / rxmir13.zip / rxMirror.doc < prev    next >
Text File  |  1999-02-26  |  11KB  |  255 lines

  1. ABOUT
  2.  
  3.     This program is aimed to serve to two rather distinct purposes. First,
  4.     it is native OS/2 replacement for mirroring programs available under
  5.     UNIX. So if you're wishing to set up a mirror site under OS/2, you're
  6.     on the right way. Second, it is handy when you need to copy entire
  7.     directory tree from remote machine but can't do it via NFS and have to
  8.     use FTP.
  9.  
  10.     If you're familiar to concept of mirroring, read:
  11.        QUICK START sections,
  12.           try to use rxMirror, then read
  13.        USAGE, BUGS.
  14.  
  15.     If you're new to mirroring, read:
  16.        MIRRORING CONCEPT, REQUIREMENTS, INSTALLATION, QUICK START sections,
  17.           try to use rxMirror, then read
  18.        USAGE, BUGS.
  19.  
  20.     If you have troubles, read:
  21.        REQUIREMENTS, BUGS, USAGE.
  22.  
  23. REQUIREMENTS
  24.  
  25.     As one might expect, TCP/IP protocol stack is required. IBM includes
  26.     its TCP/IP stack with TCP/IP for OS/2 2.0, OS/2 3.0 Warp (in IAK),
  27.     OS/2 Warp CONNECT, OS/2 Warp 4.0.
  28.  
  29.     rxMirror uses REXX rxFtp interface. rxFtp in turn uses FTPAPI calls to
  30.     do its job. So you need ftpapi.dll and rxftp.dll in your LIBPATH. If
  31.     you have installed one of the above TCP/IP products, you already have
  32.     these DLLs.
  33.  
  34.     REXX is required also, of course. You need HPFS-formatted drive to do
  35.     mirroring. rxMirror doesn't apply any conversions to filenames.
  36.     Moreover, it uses HPFS-style names for its logfiles etc. If you're
  37.     copying files which are all 8.3-compliant, you may try to use it on
  38.     FAT drive. It is neither recommended nor supported. Go HPFS!
  39.  
  40.     The summary of requirements is:
  41.  
  42.     - REXX support;
  43.     - TCP/IP stack: TCP/IP for OS/2 2.0, Warp IAK, Warp CONNECT, Warp 4;
  44.     - HPFS drive to do mirroring.
  45.  
  46. INSTALLATION
  47.  
  48.     It's very simple. Unpack rxMirror distribution archive to any
  49.     directory. If you like to start rxMirror.cmd from the command line,
  50.     this directory must be in your PATH. Copy rx2Util.dll into any
  51.     directory listed in yout LIBPATH.
  52.  
  53.     You should place configuration files into mirror current directory
  54.     (the current directory when rxMirror.cmd is runned) and to directories
  55.     under mirror root (specified with 'localdir' configuration tag).
  56.  
  57.     NOTE: Configuration file ".mirror.options" and others are NOT global
  58.     customization file for rxMirror. They are supplied only as an example.
  59.     You should NOT modify them but rather copy them to you're mirror
  60.     current directory.
  61.  
  62. MIRRORING CONCEPT
  63.  
  64.     When I started to modify this program, I only had an idea about
  65.     mirroring. I haven't read anything about it (even docs for other
  66.     mirroring programs), so my vision of mirroring may be different from
  67.     common. You might miss some features that are obligatory for mirroring
  68.     software and encounter features that cannot be found in any other
  69.     mirroring program.
  70.  
  71.     The principle of mirroring is very simple: to create a copy of remote
  72.     directory tree on local machine using FTP. To do this, rxMirror
  73.     traverses recursively remote tree, does "DIR" for each subdir and
  74.     compares its output to local list of files. Comparison is done based
  75.     on file name, length and time stamp. Note that name comparison is case
  76.     insensitive. If there is a difference, rxMirror retrieves remote files
  77.     missing in local dir and removes local files missing on remote. In
  78.     fact, rxMirror does not REMOVE them but places into subdirectory
  79.     ".removed" (configurable).
  80.  
  81.     After syncronising all directories, the subtree on the local drive is
  82.     a complete mirror of remote subtree, excluding ".removed" subdirs,
  83.     rxMirror logs/configuration (if defined) and really any file/directory
  84.     starting with a dot (.).
  85.  
  86. QUICK START: COPYING REMOTE DIRECTORY TREE
  87.  
  88.     1) chdir to directory where you want files to be placed, for example:
  89.           "mkdir \temp"
  90.           "cd \temp"
  91.        please remember, it should reside on HPFS drive!
  92.  
  93.     2) invoke rxmirror with the following arguments: a) remote machine
  94.     hostname, b) remote directory, c) your login on remote, d) your
  95.     password, for example "rxmirror lnfm1.sai.msu.su /home/solar/asv asv
  96.     Sethanon" NOTE: the password in the above line is obsolete :)
  97.  
  98.     3) watch copying progress; if it fails, read this doc again :(
  99.  
  100. QUICK START: SETTING UP A MIRROR
  101.  
  102.     1) create a directory where your mirror will reside;
  103.  
  104.     2) copy file ".mirror.options" into it and edit it; warning - if
  105.     you're using real password (not e-mail address) for mirroring, do not
  106.     set it in ".mirror.options" file - you will risk by exposing it to
  107.     others;
  108.  
  109.     3) start rxmirror having this directory current. if you have filled
  110.     all four necessary fields in .mirror.options file, you don't need to
  111.     supply any command-line parameters; otherwise, you have to enter them
  112.     in the following order: a) remote machine hostname, b) remote
  113.     directory, c) your login, d) your password.
  114.  
  115.     4) create batch file consisting of "d: & cd dir & rxmirror" and add it
  116.     to crontab if you like
  117.  
  118. USAGE: COMMAND-LINE ARGUMENTS, CUSTOMIZATION, ERROR MESSAGES
  119.  
  120.     a) Command-line parameters
  121.  
  122. -!-
  123. Usage: rxMirror [-?h] [[-s] hostname] [[-d] startdir] [[-u] userid]
  124.                 [[-p] passwd] [-l [scrlog]]
  125.  
  126.  ? or h     - display this help and exit
  127.  s hostname - hostname or IP number of the FTP server, no default
  128.  d startdir - directory from which mirroring starts;
  129.               rxMirror will recurse into subdirs, no default
  130.  u userid   - login id on the remote server, default is anonymous
  131.  p passwd   - password on the ftp server, default is * (for prompt)
  132.  l scrlog   - screen output log. By default logging is disabled.
  133.               Default logname is '.mirror.scrlog' in current dir.
  134.  
  135. NOTE: For backward compatibility, some option tags are optional.
  136. -!-
  137.  
  138.     For example:
  139.  
  140.     "rxmirror -l -s lnfm1.sai.msu.su -d /home/solar/asv -u asv -p Sethanon"
  141.  
  142.     This example will open FTP connection server lnfm1.sai.msu.su with
  143.     user id asv and password Sethanon and then change to directory
  144.     /home/solar/asv, which is then mirrored (including it's
  145.     subdirectories). Screen output is logged to '.mirror.scrlog' file in
  146.     current directory.
  147.  
  148.     It is recommended that remote directory should start with "/" to
  149.     ensure that you always mirror right dir. If you mirror anonymous site,
  150.     your login will be "anonymous" and password will be e-mail address.
  151.  
  152.     Please note that you have to run rxMirror from the directory where
  153.     ".mirror.options" configuration file is located. This is the mirror
  154.     current directory but not necessarily the mirror root (where mirrored
  155.     files are written).
  156.  
  157.     b) ".mirror.options" file
  158.  
  159.     If you mirror anonymous site on a regular basis, you may place all
  160.     necessary information into ".mirror.options". Besides that, this file
  161.     may be used to set lots of handy customization parameters. They are
  162.     described in details in ".mirror.options" file as comments, so please
  163.     read it. To use customized values, place ".mirror.options" into mirror
  164.     current directory (current directory when rxmirror is runned).
  165.  
  166.     c) Error messages
  167.  
  168.     Sometimes rxMirror exits with a message, and quotes an FTP error code.
  169.     This is the value returned by rxftp call; most common error codes are:
  170.  
  171.     FTPHOST - cannot resolve hostname; check parameters.
  172.  
  173.     FTPCONNECT - cannot connect to server; probably network problems.
  174.  
  175.     FTPLOGIN - incorrect login/password or number of allowed users
  176.     exceeded; check parameters and try later.
  177.  
  178.     FTPLOCALFILE - cannot create local file. There may be a directory with
  179.     the same name exists, or local file is read-only and cannot be
  180.     removed.
  181.  
  182.     There may be other error messages; usually they are self-explanatory.
  183.     Unfortunately, broken connection during transfer will hang rxFtp. If
  184.     you see that rxMirror waits too long, terminate it with Ctrl-C.
  185.  
  186.     NOTE: Termination might sometimes take time. Again, if nothing happens
  187.     (rxMirror say when it's terminating due to Ctrl-C) in long time press
  188.     Ctrl-C again or kill the session abnormally.
  189.  
  190. BUGS, INCOMPLETENESSES AND UNDESIRED FEATURES
  191.  
  192.     Most of them come from the different file naming conventions under
  193.     OS/2 and UNIX. I will call the situation when two different UNIX names
  194.     correspond to one OS/2 name "name clash". Examples: two names which
  195.     differ only by case of letters; one of UNIX names has a period at the
  196.     end of the name. However, there are some other things which can be
  197.     implemented but haven't done yet.
  198.  
  199.     a) When there is a name clash between files in directory, only one
  200.     file will present in the mirror.
  201.  
  202.     b) Name clash between remote directory names will be handled in a
  203.     rather poor manner.
  204.  
  205.     c) rxMirror cannot utilize "ls-lR" files, thus it's pretty slow with
  206.     heavy nested directory structures.
  207.  
  208.     d) rxFtp interface isn't very good constructed. It often hangs on
  209.     transfers, fails to connect etc. I noticed that after rxFtp failed in
  210.     some command-line session, rxFtp in this session will no longer
  211.     function.
  212.  
  213.     e) obsolete directories (removed from server) do not get removed from
  214.     local disk.
  215.  
  216.     f) when the remote directory get removed and a file arise with the
  217.     same name, rxMirror will crash (unable to create a local file with the
  218.     same name as existing directory).
  219.  
  220.     g) some servers have really ugly output and messages which prevent
  221.     rxMirror from operation. Currently, only Unix servers and IBM OS/2
  222.     ftpd are supported.
  223.  
  224. CONTACTING THE AUTHOR
  225.  
  226.     Author of the modifications for version 1.3 of rxMirror is
  227.     Teemu Mannermaa <wicked@clinet.fi>. Original author of rxMirror is
  228.     Sergey Ayukov <asv@ayukov.com>. Feel free to ask questions; it will
  229.     help me to improve this manual and/or rxMirror.
  230.  
  231.     NOTE: I would like to thank the original author of rxMirror, Sergey
  232.     Ayukov, because without him version 1.3 would never have been
  233.     possible. THANKS!
  234.  
  235.     Where to find new versions:
  236.  
  237.     1) ftp-os2.cdrom.com, hobbes.nmsu.edu, ftp.leo.org
  238.  
  239.     2) WWW: http://www.pp.clinet.fi/%7Ewicked/prj/rxmirror.html
  240.  
  241.     3) E-mail to wicked@clinet.fi and ask for the latest version.
  242.  
  243.     4) If you're in Finland (or really want to make an international
  244.     phone call) you can find rxMirror from my Bulletin Board System (BBS):
  245.     Eternal Light, +358-9-3404442, 24h/day (V.34 and 8N1)
  246.  
  247.     Sorry for my English. I will gladly accept any corrections to this
  248.     short manual and/or to rxMirror program itself.
  249.  
  250. -------------------------------------------------------------------------------
  251.  
  252. Teemu Mannermaa <wicked@clinet.fi>
  253.  
  254. 21. February 1999
  255.