ftpcopy - mirror or copy files from a FTP server


SYNOPSIS

       ftpcopy ftp://host[:port]/directory [local-directory]

       or

       ftpcopy host[:post] /directory [local-directory]


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 -n (--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

   Login options
       --tries=NUMBER
              Number  of tries to connect and log in. The default
              is 1, meaning that ftpls will  give  up  after  the
              first error.

              This option was added in version 0.3.0.

       --account=ACCOUNT
              Send ACCOUNT as the account name using the ACCT ftp
              command if the ftp servers asks for one.

              ACCOUNT in ftp speak is some kind of sub account in
              some  other  terminologies. 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 -u option first.

       -p, --pass=PASSWORD
              Use PASS as password to login on  the  ftp  server.
              The  default is `anonymous@invalid.example'. Use an
              empty password to enforce not sending any password.

       -u, --user=NAME
              Use  NAME  to login on the ftp server.  The default
              is `anonymous'. Use an empty name to force  to  not


   Options controlling file selection
       -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. Note:
              if the -s option is also given then  even  symbolic
              links  to files will be created (without the files,
              of course).

       -m, --max-days=NUMBER
              Download only files modified  in  the  last  NUMBER
              days.

       -x, --exclude=WILDCARD
              Exclude  files  and  directories  matching WILDCARD
              (note that this means shell  style  wildcards,  not
              regular expression like those of grep).
              You  can  repeat  this option as often as you want.
              You can intermix it with the -i option.
              See IN/EXCLUDE, below, for more information.

              This option was added in version 0.3.0.

       -i, --include=WILDCARD
              Include files and  directories  matching  WILDCARD.
              You  can  repeat  this option as often as you want.
              You can intermix it with the -x option.
              See IN/EXCLUDE, below, for more information.

              This option was added in version 0.3.0.

   Other options
       --interactive
              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.

       -l, --loglevel=NUMBER


       *   0: nothing except warnings and error messages

       *   1: downloads and deletes

       *   2: links/symlinks created, files we already got

       *   3: useless stuff

          The default is 1.

       --bps
          Log transfer rates.

          This option was added in version 0.3.9.

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

       -n, --no-delete
          Do  not delete files. This influences the cleanup step,
          it doesn't stop ftpcopy from deleting files during  the
          downloads.

       --dry-run
          Do  not  copy  or delete files: Only show what would be
          done.

          This option was added in version 0.3.6.

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

       -T, --timeout=SECONDS
          Timeout  to  use  for  network  read/write  and connect
          operations. The default is 30 seconds  and  is  usually
          sufficient.

          This option was added in version 0.3.8.

          Do  not  use  the  poll()  system  call  even  if  it's
          available, but use select().  This allows ftpcopy to be
          used together with the runsocks program from the socks5
          reference implementation. Please note that you'll  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.

       --tolower
          Change all local file names to lower case.

          Use  this  only  if  you  are  absolutely sure that the
          remote side doesn't contain any  files  or  directories
          whose  names  collide  with each other.  Otherwise this
          will waste bandwidth.

          This option was added in version 0.3.8.


REMOVED OPTIONS

       -R, --remove-dir

       --keep-dir
              These options have been added in version 0.3.0  and
              removed  in  0.3.7.  --keep-dir made ftpcopy keep a
              local directory even if it had been replaced  by  a
              link  to an other directory or a file, --remove-dir
              did  exactly  the  opposite.  --keep-dir  was   the
              default for historical reasons.
              The current behaviour is like that of --remove-dir:
              ftpcopy creates a copy of the remote ftp site.


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: it 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"



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  /private/file/0/mirror/cr.yp.to  is  the  local
          directory.


AUTHOR

       Uwe Ohse, uwe@ohse.de


SEE ALSO

       ftpls(1), ftpcp(1).

       The homepage may be more up-to-date, see
       http://www.ohse.de/uwe/ftpcopy.html.


Man(1) output converted with man2html