ncftpput(1) | General Commands Manual | ncftpput(1) |
ncftpput - Internet file transfer program for scripts
ncftpput [options] remote-host remote-directory local-files...
ncftpput [options] bookmark-name remote-directory local-files...
ncftpput -f login.cfg [options] remote-directory local-files...
ncftpput -c remote-host remote-path-name < stdin
ncftpput -C remote-host local-path-name remote-path-name
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 example, 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 information file can see the account information. Nevertheless, if you choose to use the -f option the file should look something like this:
host sphygmomanometer.ncftp.com
user gleason
pass mypassword
The -d option is very useful when you are trying to diagnose 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 pikachu.nintendo.co.jp /incoming /tmp/stuff
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/incoming/README, using the filename /pub/incoming/README.tmp as a temporary filename:
$ ncftpput -S .tmp bowser.nintendo.co.jp /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 sonic.sega.co.jp /usr/local/backup.tar
ncftpput returns the following exit values:
Mike Gleason, NcFTP Software (http://www.ncftp.com).
ncftpget(1), ncftp(1), ftp(1), rcp(1), tftp(1).
LibNcFTP (http://www.ncftp.com/libncftp/).
NcFTP Software | ncftpput |