ncftpput(1)                                           ncftpput(1)

NAME
       ncftpput - Internet file transfer program for scripts

SYNOPSIS
       ncftpput  [options]  remote-host  remote-directory  local-
       files...

       ncftpput -f login.cfg  [options]  remote-directory  local-
       files...

       ncftpput -c remote-host remote-path-name < stdin

OPTIONS
   Command line flags:
       -u XX   Use username XX instead of anonymous.

       -p XX   Use password XX with the username.

       -P XX   Use port number XX instead of the default FTP ser-
               vice port (21).

       -d XX   Use the file XX for debug logging.

       -a      Use ASCII transfer type instead of binary.

       -m      Attempt to make the remote  destination  directory
               before copying.

       -t XX   Timeout after XX seconds.

       -U XX   Use value XX for the umask.

       -v/-V   Do  (do  not) use progress meters.  The default is
               to use progress meters if the output stream  is  a
               TTY.

       -f XX   Read  the  file  XX  for  host, user, and password
               information.

       -A      Append to remote  files,  instead  of  overwriting
               them.

       -T XX   Upload into temporary files prefixed by XX.

       -S XX   Upload into temporary files suffixed by XX.

       -R      Recursive mode; copy whole directory trees.

       -r XX   Redial  a  maximum  of XX times until connected to
               the remote FTP server.

       -z/-Z   Do (do not) try to resume transfers.  The  default
               is to not try to resume (-Z).

       -F      Use passive (PASV) data connections.

       -DD     Delete local file after successfully uploading it.

       -y      Try using "SITE UTIME" to preserve  timestamps  on
               remote  host.  Not many remote FTP servers support
               this, so it may not work.

DESCRIPTION
       The purpose of ncftpput is to do file transfers  from  the
       command-line  without entering an interactive shell.  This
       lets you write shell scripts or other unattended processes
       that can do FTP.  It is also useful for advanced users who
       want to send files from the  shell  command  line  without
       entering an interactive FTP program such as ncftp.

       By  default  the program tries to open the remote host and
       login anonymously, but you  can  specify  a  username  and
       password  information.   The  -u option is used to specify
       the username to login as, and the -p  option  is  used  to
       specify the password.  If you are running the program from
       the shell, you may omit the -p option and the program will
       prompt you for the password.

       Using  the  -u and -p options are not recommended, because
       your account information is exposed to anyone who can  see
       your  shell script or your process information.  For exam-
       ple, someone using the ps program could see your  password
       while the program runs.

       You  may  use the -f option instead to specify a file with
       the account  information.   However,  this  is  still  not
       secure  because anyone who has read access to the informa-
       tion file can see the account information.   Nevertheless,
       if  you  choose  to use the -f option the file should look
       something like this:

              host Bozo.probe.net
              user gleason
              pass mypasswd

       Don't forget to change the permissions on this file so  no
       one else can read them.

       The  -d option is very useful when you are trying to diag-
       nose why a file transfer is failing.  It  prints  out  the
       entire  FTP  conversation  to the file you specify, so you
       can get an idea of what went wrong.  If  you  specify  the
       special  name  stdout  as the name of the debugging output
       file, the output will instead print to the screen.

       Using ASCII mode is helpful when the text format  of  your
       host  differs  from that of the remote host.  For example,
       if you are sending a text file from a  UNIX  system  to  a
       Windows-based  host, you could use the -a flag which would
       use ASCII transfer mode so that the file  created  on  the
       Windows machine would be in its native text format instead
       of the UNIX text format.

       You can upload an entire directory tree of files by  using
       the -R flag.  Example:

           $ ncftpput -R ftp.probe.net /incoming /tmp/stuff

       This  would  create  a  /incoming/stuff  hierarchy  on the
       remote host.

       The -T and -S options are useful when you want  to  upload
       file  to  the  remote  host, but you don't want to use the
       destination pathname until the file  is  complete.   Using
       these  options,  you will not destroy a remote file by the
       same name until your file is finished.  These options  are
       also useful when a remote process on the remote host polls
       a specific filename, and you don't want  that  process  to
       see that file until you know the file is finished sending.
       Here is an example that uploads to  the  file  /pub/incom-
       ing/README, using the filename /pub/incoming/README.tmp as
       a temporary filename:

           $  ncftpput  -S  .tmp   Bozo.probe.net   /pub/incoming
           /a/README

       A  neat way to pipe the output from any local command into
       a remote file is to use the -c option, which denotes  that
       you're  using stdin as input.  The following example shows
       how to make a backup and store it on a remote machine:

           $   tar   cf   /   |   ncftpput   -c    Bozo.probe.net
           /usr/local/backup.tar

DIAGNOSTICS
       ncftpput returns the following exit values:

       0       Success.

       1       Could not connect to remote host.

       2       Could not connect to remote host - timed out.

       3       Transfer failed.

       4       Transfer failed - timed out.

       5       Directory change failed.

       6       Directory change failed - timed out.

       7       Malformed URL.

       8       Usage error.

       9       Error in login configuration file.

       10      Library initialization failed.

       11      Session initialization failed.

AUTHOR
       Mike Gleason, NCEMRSoft (mgleason@probe.net).

SEE ALSO
       ncftpget(1), ncftp(1), ftp(1), rcp(1), tftp(1).

       LibNcFTP (http://www.probe.net/~mgleason/libncftp).

                            NCEMRSoft                           1