FTPCOPY(1) 19/Feb/101 FTPCOPY(1) ftpcopy ftpcopy 0.3.5 NAME 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. Otherwise you must provide the 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 log in. FILE SELECTION - 1 - Formatted: April 23, 2024 FTPCOPY(1) 19/Feb/101 FTPCOPY(1) ftpcopy ftpcopy 0.3.5 -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 that option as often as you want. You can intermix it with the -i option. -i, --include=WILDCARD Include files and directories matching WILDCARD. You can repeat that option as often as you want. You can intermix it with the -x option. This option was added in version 0.3.0. OTHER OPTIONS -l, --loglevel=NUMBER controls the amount of logging done: 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. -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. -R, --remove-dir Remove directories which are `in our way'. If an existing local directory blocks the operation because it has to be - 2 - Formatted: April 23, 2024 FTPCOPY(1) 19/Feb/101 FTPCOPY(1) ftpcopy ftpcopy 0.3.5 replaced by something else (a symbolic link or a file) then this option will allow ftpcopy to delete the local directory recursivly. Note that this option is currently not the default, but may be the default in a few months. This option was added in version 0.3.0. --keep-dir Keep directories, even it they are blocking our operation. Note that ftpcopy will not continue in that case. This option is currently the default, but that may change. 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. This will fail if a file name in a link contains a ` -> ' sequence. INCLUDE AND 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" You need to include /w, /w/h and so on. 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 - 3 - Formatted: April 23, 2024 FTPCOPY(1) 19/Feb/101 FTPCOPY(1) ftpcopy ftpcopy 0.3.5 + the host to connect to is cr.yp.to + the remote directory is / + the local directory is /private/file/0/mirror/cr.yp.to mirror ftp.gnu.org AUTHOR Uwe Ohse, uwe@ohse.de SEE ALSO ftpls(1), ftpcp(1) - 4 - Formatted: April 23, 2024