Computer Science
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
Back to the index