Provided by: ftp-upload_1.6-4_all bug

NAME

       ftp-upload - batch transfer local files to an FTP server

SYNOPSIS

       ftp-upload [any-switch]... {[repeatable-switch]... file...}...

DESCRIPTION

       ftp-upload is used to send local files to an FTP server.  It isn't interactive, it's meant to be used
       from scripts.  It is disciplined about its exit value and it doesn't output informational messages by
       default.

       There are two kinds of switches.  Initial switches have to appear before any filenames, they affect the
       session as a whole.  Repeatable switches can appear interspersed with the file names, they affect the
       transfer of the files which appear after them on the command line.

OPTIONS

   Initial switches
       These have to be used before any file names listed on the command line.

       --debug
           Turn debugging on.

       --help
           Show the usage message and die.

       --ignore-quit-failure
           Don't complain or set a failure exit code just because the QUIT command fails.  This can be necessary
           because  some  servers, in blatant disregard of RFC 959, close the command channel when you send them
           an ABOR command.

       -v, --verbose
           Print informational messages to stdout.

       --version
           Show the version number and exit.

   Initial switches which specify connection information
       These also have to be used before  any  file  names  listed  on  the  command  line.   They  specify  the
       information used to set up the FTP connection.

       --account account
           This specifies the account to be used when logging into the remote system.  This is distinct from the
           user name used to log in.  Few systems need this.  There is no default.

       -h, --host host
           Specify the host to which to connect.  There is no default, you have to specify this switch.

       --passive
           Force  the  use  of  passive  (PASV)  transfers.   Passive  transfers are required with some firewall
           configurations, but if you have such you'd do better to configure Net::FTP so that it knows  when  to
           use  them  (see  Net::Config).   If  you need to use passive transfers with certain (broken) servers,
           however, this switch is your best  bet.   Alternatively,  you  can  set  $FTP_PASSIVE  to  1  in  the
           environment (see Net::FTP).

       --no-passive
           Force  the use of active mode transfers.  Active mode is the default so this is only required if your
           Net::Config or $FTP_PASSIVE turn passive mode on.

       --password pw
           This gives the password which will be used to login.  The default is your email address.

           Note that you should not specify a real (secret) password this way, as on most systems anybody on the
           machine can see the arguments you pass to your commands.  Use one of other password-setting  switches
           instead.

       -s, --password-stdin
           This  tells  ftp-upload  to  read the password from standard input.  No prompt will be printed, and a
           single line will be read.  Most people will use this switch to specify the password.  Eg,

               echo 3x9sjJJh | ftp-upload -sh $host -u $user $file

           Using echo this way is safe where the --password switch isn't if the echo command is built in to  the
           shell.

       --password-fd fd
           This is like --password-stdin except that it reads the password from the file descriptor numbered fd.

               ftp-upload -h $host -u $user --password-fd=3 3<$pw_file $file

       -u, --user user
           Specify the user name to use when logging in.  The default is "anonymous".

   Repeatable switches
       These  switches  can be used anywhere on the command line (except after the last file name).  They affect
       the transfer of files listed after them.

       --as remote-name
           Normally a file is transferred using the same name it has locally.  If you use this switch  the  next
           file transferred will be called remote-name on the other host instead.

               ftp-upload --host $host --as index.htm index.html

       -a, --ascii
           Perform transfers in ASCII mode.

       -b, --binary
           Perform transfers in binary mode.  This is the default.

       -d, --dir dir
           Change directory to dir on the FTP server before continuing.  You can use this multiple times between
           files,  ftp-upload will chdir once for each time you specify it.  Using ".." as the dir will cause an
           FTP "CDUP" to be done rather than a "CWD".

       --full-path
           Normally uploaded files go into the current directory on the remote host, even when  the  local  file
           name given contains slashes.  Eg, if you say

               ftp-upload -h $host /etc/motd

           ftp-upload  will  upload  the  file  as  motd, not /etc/motd.  This differs from how the standard ftp
           program works, and it also differs with how ftp-upload worked before version 1.3.

           If you specify --full-path, you'll get the other behavior.  A request to upload  dir/file  will  tell
           the server to store dir/file rather than file.

           When  you  use  --as the --full-path setting doesn't matter.  --full-path only tells the program what
           name to use when it's choosing the name.

       --no-full-path
           Disable --full-path.  This is the default.

       -l, --ls
           Try to get a remote directory listing of files after transferring them.  I say "try" because  there's
           no  guaranteed  way  to  do this with the FTP protocol.  The command I run is "LIST file".  This will
           generally work if file doesn't contain any special characters.

       -L, --no-ls
           Disable the --ls behavior.

       --tmp-none
           Transfer files directly, don't do anything special to try to ensure  that  they  don't  appear  under
           their real names on the remote machine until the transfer is finished.  Each file is transferred with
           a single simple "STOR".  This is the default.

       --tmp-samedir
           Transfer  files  to  the  remote  machine  using a temporary name, then rename them when the transfer
           finishes.  This won't work if the remote server doesn't give a recognizable response  to  the  "STOU"
           command.

           If  the server's response to "STOU" isn't recognized by Net::FTP but is reasonable, Graham Barr might
           be willing to change Net::FTP to recognize it.  If you like you can send the "--debug" output  to  me
           and I'll coordinate such requests.

       --tmp-dir dir
           Transfer  files  to  dir on the remote host, then rename them when the transfer is complete.  This is
           safer than --tmp-samedir because it doesn't use "STOU" and so it works with more servers.

               ftp-upload -h $host --tmp-dir incoming $file

       --tmp-format fmt
           Transfer files to "sprintf(fmt, file base name)", then rename them when  the  transfer  is  complete.
           Like  --tmp-dir,  this is safer than --tmp-samedir because it doesn't use "STOU" and so it works with
           more servers.

               ftp-upload -h $host --tmp-format tmp.%s $file

AUTHOR

       Roderick Schertler <roderick@argon.org>

perl v5.36.0                                       2022-11-21                                     FTP-UPLOAD(1p)