Man page - ftp-upload(1)
Packages contains this manual
Manual
FTP-UPLOAD
NAMESYNOPSIS
DESCRIPTION
OPTIONS
Initial switches
Initial switches which specify connection information
Repeatable switches
AUTHOR
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>