Provided by: ftpcopy_0.6.7-5_amd64 bug

NAME

       ftpcopy - create and maintain a ftp mirror.

SYNOPSIS

       ftpcopy [options] host[:port] remotedir [localdir]
          or: ftpcopy [options] ftp://host[:port]/remotedir [localdir]

DESCRIPTION

       ftpcopy  copies  a  FTP  site  recursivly.  It  afterwards  deletes all files in the local
       directory tree which were not found on the remote site.

       local-directory defaults to `.' - the current  working  directory  -  if  the  --no-delete
       option  is  used.  local-directory  is  not  needed  if  the --interactive option is used.
       Otherwise you must provide a local-directory argument.

OPTIONS

   Connect / login / username / password options:
       -u, --user=NAME
              Use NAME to login on the ftp server.
              The default is `anonymous'. Use an empty name to force the program to not log in.

       -p, --pass=PASSWORD
              Use PASS as password to login on the ftp server.
              The default is `anonymous@invalid.example'. If  an  empty  password  is  given  the
              programm will not send a password to the server.

       --account=ACCOUNT
              Send ACCOUNT as account name during login phase.
              Note:  this  is  _not_  the  user  name,  but  the  name  of what could be called a
              subaccount implemented by a few servers. If you don't understand what it means  you
              have  a  good  chance  to  never  need this option anyway. If you think you need it
              please try the --user option first.

       --tries=ARG
              Number of tries to connect and log in.
              The default is 1, meaning that the program will give up after the first error.
              This option was added in version 0.3.0.

       --data-connect-retries=ARG
              Number of tries to connect to data port.
              The program will try to reach the data port (for retrieval  of  listings  or  data)
              that many times and will give up after that many errors in a row. The default is 5,
              meaning that the program will give up after the fifth error.
              This option was added in version 0.6.6. The old behaviour was to give up after  the
              first error.

       --login-sleep=ARG
              Seconds to sleep after a failed login.
              More precisely: the program will fall to sleep for this many seconds after a try to
              connect or login has failed. The default is 5. A 0 is  treated  as  1,  and  abuse,
              especially together with --tries, is likely to annory the servers adminstrators.
              This option was added in version 0.4.5.

       -4, --v4
              Only use IPv4, even if v6 is available.
              This option effectively disallows the use of IPv6, except for DNS queries.
              It was added in version 0.6.0.

       -6, --v6
              Only use IPv6, even if v4 is available.
              This option effectively disallows the use of IPv4, except for DNS queries.
              It was added in version 0.6.0.

   Verbosity options:
       -l, --loglevel=ARG
              Controls the amount of logging done.
                0: nothing except warnings and error messages.
                1: downloads and deletes (this is the default).
                2: links/symlinks created, files we already got.
                3: useless stuff.

       --bps  Log transfer rates.
              This option causes ftpcopy to log byte / kilobyte / megabyte per second information
              after successful transfers.
              This option was added in version 0.3.9.

       --progress
              Report progress to stderr.
              This will print a report of the download every second: a short  form  of  the  file
              name, the bytes got and expected and the percentage received.
              This option was added in version 0.6.0.

   File selection options:
       -m, --max-days=DAYS
              Download only files modified in the last DAYS.
              Locally  existing  copies  of the not downloaded files will be kept. The default is
              not to restrict the age of files.

       --max-size=MAXBYTES
              Download only files up to MAXBYTES length.
              Locally existing copies of overlong files will be deleted during the clean-up step.
              The default is not to restrict the file size.
              This option was added in version 0.5.1.

       -x, --exclude=WILDCARD
              Exclude paths matching WILDCARD.
              If  WILDCARD  matches  the  full  path of the remote file then the file will not be
              downloaded. WILDCARD is a shell style wildcard expression, not a regular expression
              like  those  of  grep. You can repeat this option as often as you want, and you can
              intermix it with the --include option.
              If both includes and excludes are used then the last matching one will be  honored.
              The list starts with an implicit '--include *'.
              If  the  --tolower  option  is  used  together with --exclude or --include then the
              in/exclude patterns have to be written in lower case.
              This option was added in version 0.3.0.

       -i, --include=WILDCARD
              Include paths matching WILDCARD.
              This is the opposite of the --exclude option.
              It was added in version 0.3.0.

       -X, --in-exclude-file=FILE
              Read in/exclude patterns from FILE.
              The include and exclude patterns are read from a file. If the first character of  a
              line  is  a  '+' the remainder of the line is treated as an argument of a --include
              optiona and if it is a '-' it is treated as an  argument  to  a  --exclude  option.
              Lines starting with a '#' are ignored.
              FILE  will  be  read after any --include and --exclude options given on the command
              line have been read.
              This option was added in version 0.6.6.

       --ignore-size
              Ignore file size.
              Do not compare file sizes when checking the remote file has to be downloaded.
              This option was added in version 0.4.4.

       --ignore-time
              Ignore modification times.
              Do not compare file modification times when checking the  remote  file  has  to  be
              downloaded.  This  option  may be combined with --ignore-size, in which case a file
              will never be downloaded regardless of changes in file size or  modification  time.
              In other words: ftpcopy will not download any updates.
              This option was added in version 0.4.4.

       --max-depth=ARG
              Descend at most LEVEL directories.
                0 means `do not enter sub directories at all',
                1 means `enter sub-directories, but not their sub-directories'.
              The default is 2^32-1 meaning `enter all'.

   Deletion options:
       -n, --no-delete
              Do not delete files.
              This influences the cleanup step when getting rid of things the server doesn't have
              anymore. It does not stop ftpcopy from deleting files when it detects something  in
              it's way during a download.

       -M, --max-deletes=COUNT
              Do not delete more then COUNT files.
              This  option  may  be useful to limit the impact of a tempoary loss of files on the
              server. This only influences the cleanup step and does not stop ftpcopy  to  delete
              files in it's way during a download. The default is 0, meaning unlimited.
              This option was added in version 0.4.5.

   Operational options:
       -d, --directories-only
              Only create the directory hierarchie.
              Do not download files. Any file in the tree will be deleted unless the -n option is
              also given.
              This option will be removed in future versions, unless someone objects.

       --dry-run
              Don't do anything.
              ftpcopy will only show what would be done.
              This option was added in version 0.3.6.

       -T, --timeout=SECONDS
              Timeout to use for network read/write.
              The default is 30 seconds and is usually sufficient.
              This option was added in version 0.3.8.

       --rate-limit=BYTES_PER_SECOND
              Limit file download speed.
              Limit the transfer rate of file downloads to about that many bytes per seconds. The
              implementation  is  crude  and simple, by sleeping up to one second between network
              reads, and therefore does not even try to limit the rate exactly to that number. On
              the  other  hand  it  usually  works  and  is  unlikely  to break things by causing
              timeouts.
              The default is unlimited.
              This option was added in version 0.4.7.

       --interactive
              Read directories from stdin.
              This option tells ftpcopy to ignore any directories given on the command line,  and
              to  read  commands from the standard input. Each command consists of two lines, the
              first being a directory on the remote server, and the  second  a  local  directory.
              ftpcopy will print an END-OF-COPY line after each operation.
              This  option  was  added  in  version 0.3.6 and will be removed in future versions,
              unless someone objects.

   Workaround options:
       --ascii-listings
              Do directory listings in ASCII mode.
              Use this option if the FTP server is unable to correctly list directories in binary
              mode, for example, if you see a message like this (usually on one line):
              `fatal: received unwanted answer to LIST: 426 Data connection: Illegal seek.'
              This option was added in version 0.5.2.

       -L, --list-options=OPTS
              Add OPTS to LIST command.
              This  allows  to  pass arbitrary options to the FTP servers LIST command. Note that
              ftpcopy does not cope well with recursive directory listings.
              This option was added in version 0.3.0.

       -s, --symlink-hack
              Deal with symbolic links.
              This is only useful to mirror sites which create listings through /bin/ls, and will
              fail if a file name in a link contains a ` -> ' sequence.

       --force-select
              Use select, not poll.
              Do not use the poll() system call even if it's available, but use select() instead.
              This allows the program to be used together with runsocks from the socks5 reference
              implementation.
              Please  note that you will need a directly reachable name server anyway, as the DNS
              library in use does not support SOCKS (you can always use IP addresses).
              This option was added in version 0.3.8.

       --mdtm Use the MDTM command to get the remote time.
              The default is to take the times from the directory listings. This doesn't work  if
              the  server  implements  an inferior listing format (most do) and doesn't send time
              stamps in universal coordinated time (UTC). The damage caused by this is limited to
              file time stamps being wrong by a few hours.
              This  option  makes  ftpcopy  send  a  MDTM  command  for any file it might want to
              download. The drawback is that this eats performance: ftpcopy  usually  sends  just
              one  command  for a complete directory its traverses. With the --mdtm option it has
              to send an additional command for any file.
              This option was added in version 0.3.10.

       --allow-pasv-ip=IP4
              Allow data connections to the address IP4.
              Normally ftpls only accepts data connections to the IP addresses it received as  an
              answer  to  the  DNS  request,  or the IP address in the URL. Sometimes this is not
              enough, especially when NAT or masquerading are  active.  ftpcopy  then  prints  an
              error  message  `illegal  redirect  by  FTP server'. With this option, which may be
              given more than once, you can add additional addresses  to  the  internal  list  of
              allowed  data  connection  targets. IP4 has to be an IPv4 address or a list of IPv4
              addresses, separated by commas.
              The environment variable FTPCOPY_ALLOW_PASV_IP serves the same purpose.
              Note: Do not use this option without thinking: FTP redirects may be used to  launch
              denial of service attacks against innocent targets.
              This option was added in version 0.6.1.

       --no-resume
              Do not try to resume downloads.
              The REST command, needed to resume a failed
              download,  is badly specified and likely to be misinterpreted and -implemented. Use
              this option in case of trouble.
              This option was added in version 0.6.0.

       --tolower
              Change all local file names to lowercase.
              Use this only if you are absolutely sure that the remote side does not contain  any
              files  or  directories  whose  lower cased names collide with each other. Otherwise
              this option will waste bandwidth.
              If this option is used together with the --exclude or --include  options  then  the
              in/exclude patterns have to be written in lower case.
              This option was added in version 0.3.8.

   Help options:
       --include-exclude-help
              How --include and --exclude work.

       --examples
              Show usage examples.

       --see-also
              Where to find related information.

       --version
              Show version: ftpcopy (ftpcopy) 0.6.7.

       --help Show a list of options or the long help on one.
              The use with an argument shows the long help text
              of that option, without an argument it will list
              all options.

       --longhelp
              Show longer help texts for all or one option.

EXAMPLES

       mirror cr.yp.to:
         ftpcopy  \
         --exclude '*.cdb'  \
         --exclude '*software/precompiled*' \
         cr.yp.to / /private/file/0/mirror/cr.yp.to
       This means:
         * i'm not interested in .cdb files.
         * precompiled stuff is also not downloaded.
         * the host to connect to is cr.yp.to.
         * the remote directory is /, and
         * and /private/file/0/mirror/cr.yp.to is the local directory.

IN/EXCLUDE

       In-  and exclude lists are internally mixed together, keeping the order in which they were
       given. The list starts with an implicit `include *'. ftpcopy honors the last match.

       The wildcard matching is done against the full remote path of the file. The `/'  character
       has no special meaning for the matching and is treated like any other.

       Note:  you  have  to  include  top  level  directories of files or directories you want to
       include. Something like this will NOT work:
           --exclude '*' --include '/w/h/e/r/e/file.c'
       You need to include /w, /w/h and so on.

COPYRIGHT

       Copyright (C) 2003 Uwe Ohse.

       The software comes with NO WARRANTY, to the extent permitted by law.

       This package is published unter the terms of the GNU General  Public  License  version  2.
       Later versions of the GPL may or may not apply, see http://www.ohse.de/uwe/licenses/

AUTHOR

       Uwe Ohse, <uwe@ohse.de>.

MORE INFORMATION

       Please report bugs to <ftpcopy@lists.ohse.de>

SEE ALSO

       ftpls(1) lists ftp directories.  ftpcp(1) is a frontend for ftpcopy.

       The   ftpcopy   package   has   a   mailing   list.   Send  an  empty  mail  to  <ftpcopy-
       subscribe@lists.ohse.de> to subscribe to it.

       The ftpcopy homepage is at
         http://www.ohse.de/uwe/ftpcopy.html

                                            2005-04-28                                 ftpcopy(1)