1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
|
.TH "wput" "1" "0.6.2" "Hagen Fritsch" "Internet Applications - FTP"
.SH "NAME"
wput \- A wget\-like ftp\-uploader
.SH "SYNOPSIS"
wput [\fIoptions\fR] \fI\s-1file [file ...\s0\fR] \fI\s-1URL \s0\fR
.SH "DESCRIPTION"
Wput is a free utility that is able to upload files to a ftp-server.
.PP
Wput is non\-interactive and background-capable. It can upload files or whole
directories and is meant to be a robust client even for unstable connections
and will therefore retry to upload a file, if the connection broke.
.PP
Wput supports resuming, so it automatically continues uploading from the point
where the previous upload stopped, meaning that you can kill Wput anytime and
it will (if the remote ftp\-server supports this, being most likely the case)
finish the partial uploaded file.
.PP
Wput supports connections through proxies, allowing you to use it in an
environment that can access the internet only via a proxy or to provide
anonymity by hiding your ip\-address to the server.
For SOCKSv5\-proxies Wput supports also listening mode, allowing you to use
port-mode ftp through a proxy (useful if the remote ftp is behind a firewall
or a gateway).
.PP
Wput supports timestamping, so it will (in the ideal case and if timestamping
is enabled) only upload files, that are newer than the remote-file.
.PP
The upload-rate of Wput can be restricted, so that Wput won't eat all available
bandwidth.
.SS "URL\-Input\-Handling"
URLs are recognized by the ftp://\-prefix
.PP
Wput first reads the URLs from command-line, and associates the first file with
the first URL, the second file with the second URL etc.
It then transmits the file/URL combinations that are already complete.
Afterwards, Wput uses the \-\-input\-file (if any) and reads the URLs using the
same sheme as above.
In situations where more URLs than files are specified, Wput tries to guess the
local filename from the URL.
In case there are more files that URLs remaining, Wput uses the last known URL for each of the files.
.PP
So you can specify e.g. one URL and read all filenames from a file.
Or use \fIwput *.txt ftp://host\fR, to transfer all *.txt-files.
See \fIdoc/USAGE.examples\fR for further examples.
.PP
To be on the safe side, it is recommended to supply the files before the URLs.
.SS "Guessing Local File"
If Wput has an URL without a corresponding filename, Wput tries to guess the
local file's location. e.g. using wput ftp://host/directory/path/file, Wput
will look out for /directory/path/file. If not found, Wput looks for ./directory/path/file, ./path/file and ./file.
.SH "OPTIONS"
.SS "Logging and Input File Options"
.TP
.BR \-a " \fIlogfile\fP, " \-\-append-output =\fIlogfile\fP
Append all logged messages to \fIlogfile\fR.
.TP
.BR \-\-basename =\fIpath\fP
This option causes Wput to snip \fIpath\fR from all input\-files when they are
connected to the URL. wput /usr/share/doc.tgz ftp://host/ would create
ftp://host//usr/share/doc.tgz, whereas specifying /usr/share/ as basename will
result in ftp://host/doc.tgz being created.
.TP
.BR \-i " \fIfile\fP, " \-\-input-file =\fIfile\fP
Reads URLs and filenames from \fIfile\fR. If there are URLs on the command-line
too, these will be retrieved first, unless sorting is enabled.
See also the URL-Input-Handling section.
If \fIfile\fR is \-, the URLs will be read from stdin.
If you want to pipe the contents of the file that shall be uploaded to
stdin, this cannot be done (yet). But you can use the \-\-input\-pipe flag
and read the contents a) from a named pipe \-I "cat named.pipe; echo > /dev/null" or b)
directly from the command, that outputs the data. (See \-\-input\-pipe)
Do \fBnot\fR do things like \fIfind | wput ftp://host/ \-i \-\fR!
Wput would upload all files from the current directory (since the first output
of find will be '.') and afterwards each file again (since find postes its name to Wput. And further problematic is that Wput will upload each directory that
is given by find and since find itself recurses all directories, the files
would be uploaded three times (or even more often for further subdirectories).
Use \fIwput ftp://host/\fR to upload everything from the local directory.
Or use \fIfind ! \-type d | wput ftp://host/ \-i \-\fR to tell find, not to
output directories.
.TP
.BR \-I " \fIcommand\fP, " \-\-input\-pipe= \fIcommand\fP
If no file/directory can be "guessed" (see "Guessing Local File") from the URL,
the output of \fIcommand\fB is taken as file-input. command is invoked as follows:
\& command ftp "username" "ip/hostname" port "remote_directory" "remote_filename"
The hostname is only supplied if the ip cannot be resolved.
If you do not want these parameters to confuse the program from which you read
the contents, use something like '\-I "cat file; echo > /dev/null"' so that these
parameters are passed to echo and to /dev/null afterwards.
Since the progressbar is not capable of handling unknown filesizes, the filesize
is set to 1 GiB. Therefore the ETA shows a wrong value.
.TP
.BR \-nv ", " \-\-less\-verbose
Be less verbose. That means reducing Wput's output to a minimum. Specifying
this flag more often is equal to the \-\-quiet flag.
Some people also like combining the \-v and \-nv flags, being quite senseless.
.TP
.BR \-o " \fIlogfile\fP, " \-\-output\-file =\fIlogfile\fP
Log all messages to \fIlogfile\fP.
.TP
.BR \-q ", " \-\-quiet
Turn off Wput's output.
.TP
.BR \-R ", " \-\-remove\-source\-files
Unlinks/deletes files that have been successfully transmitted.
.TP
.BR \-s ", " \-\-sort
If sorting is enabled Wput first reads all URLs from any input-devices available
and will sort them before transmitting each file.
The sorting order is: ip/hostname, port, username, password, directory, filename.
Sorting requires a bit more memory since all data needs to be held there.
.TP
.BR \-v ", " \-\-verbose
Turn on verbose output. This gives some more information about what Wput
does. If you specify this flag twice, you get debug output.
.SS "Upload Options"
.IX Subsection "Upload Options"
.TP
.BR \-A ", " \-\-ascii
Wput automatically determines which transfer\-format to use, by looking at
the file-extensions. Certain files are recognized as ASCII. These are:
txt, c, java, cpp, sh, f, f90, f77, f95, bas, pro, csh, ksh, conf, htm, html, php, pl, cgi, ing, js, asp, bat, cfm, css, dhtml, diz, h, hpp, ini, mak, nfo, shtml, shtm, tcl, pas
Specifying this flag forces Wput to use ASCII mode file transfers.
.TP
.BR \-b ", " \-\-background
Go to background immediately after startup. If no output file is given,
wput will redirect its output to "./wputlog"
.TP
.BR \-B ", " \-\-binary
Specifying this flag forces Wput to use BINARY mode file transfers.
.TP
.BR \-\-bind\-address =\fIaddress\fP
When making client TCP/IP connections, bind() to \fIaddress\fP to
\fI\s-1address\s0\fP on the local machine. \fI\s-1address\s0\fP may br
specified as a hostname or \s-1IP\s0 address. This option can be
useful if your machine is bound to multiple
IPs.
.BR \-\-force\-tls
If this flag is specified and Wput is linked with the OpenSSL-library, the flag
enforces the usage of TLS: If no TLS\-connection can be established the process
will cancel and not try to go on with an unencrypted connection.
.SS "Basic Startup Options"
.TP
.BR \-l " \fIrate\fP, " \-\-limit\-rate =\fIrate\fP
If you don't want Wput to eat up all available bandwidth, specify this flag.
\fIrate\fP is a numeric value. The units 'K' (for KiB) and 'M' (for MiB) are
understood.
The upload rate is limited on average, meaning that if you limit the rate to
10K and Wput was just able to send with 5K for the first seconds, it will
send (if possible) afterwards more than 10K until the average rate of 10K is
fulfilled.
.TP
.BR \-m ", " \-\-chmod
This will change the access mode of the transferred files. The format is the
three-digit octal unix mode, e.g. 644 means rw-r--r--.
.TP
.BR \-nc ", " \-\-dont\-continue
If this flag is specified, resuming will be turned off, meaning that a remote
file being smaller than the local one will be overwritten. To skip this file,
you have to enable \-\-skip\-existing.
See also \fIdoc/USAGE.resumehandling\fR
.TP
.BR \-N ", " \-\-timestamping
If timestamping is enabled, Wput will retrieve a directory list and parse it to
determine the remote file\-date. If the local file is newer than the remote one
(there is a default allowed timevariance of 5 seconds, which can be adjusted in
the \fIwputrc\fR-file) it is uploaded, otherwise skipped.
The local date is dermined by the mtime (time of last modification), using the
current time-zone. This should be equal to the output of ls \-l.
Since you usually do not want to resume existing files, you should employ the
\-\-reupload \-\-dont-continue flags as well.
.TP
.BR \-p ", " \-\-port\-mode
Per default, Wput uses passive mode ftp, which works well for most
configurations. If passive mode fails, Wput automatically falls back to
port mode.
If you want Wput to start using port mode ftp, specify this flag.
.TP
.BR \-\-proxy =\fImode\fP
Alias is option \-Y. The \fImode\fP can be either \fIhttp\fR for http-based
proxies (such as SQUID), \fIsocks\fP for SOCKSv5 proxies or \fIoff\fP
to disable the proxy.
.TP
.BR \-\-proxy-user =\fIname\fP
If the proxy\-server requires authentication, use \fINAME\fR as user-name.
You need to specify \-\-proxy-pass too. These information can also be
stored in the wputrc\-file.
.TP
.BR \-\-proxy\-pass =\fIpassword\fP
Specifies the password to use for the proxy.
.SS "FTP Options"
.IX Subsection "FTP Options"
.TP
.BR \-\-no\-directories
If Wput is unable to CWD into a directory, it will try to create it. If this
is not the desired behaviour specify this flag to force Wput not to create
any directories.
.TP
.BR \-t " \fInumber\fP, " \-\-tries =\fInumber\fP
Set number of retries to \fInumber\fP. Specify \-1 for infinite retrying,
which is default, too.
.TP
.BR \-u ", " \-\-reupload
If this flag is specified, a remote file having the same size as the local one
is to be uploaded. Skipping is default.
.TP
.BR \-\-skip\-larger
If this flag is specified, a remote file being larger than the local one will
be skipped. Default is reuploading it.
.TP
.BR \-\-skip\-existing
If this flag is specified, the upload of a file will be skipped if the remote
file already exists.
.SS General options
.TP
.BR \-V ", " \-\-version
Display the version of wput.
.TP
.BR \-h ", " \-\-help
Print a help screen, with a short description of wput's command-line options.
.SH DIAGNOSTICS
Normally, the exit status is 0 if either everything went fine or there was nothing
to do.
If some files were skipped during the upload (due to timestamping or resume\-rules)
the exit status is set to 1. If some files failed to be transmitted due to an
remote error, exit status is 2. If some files failed and some others were skipped,
exit status is 3. For general problems like failure of some system-functions the
exit status is 4.
.SH BUGS
.IX Header "BUGS"
.PD
You are welcome to send bug reports and suggestions about Wput through the Sourceforge Bugtracking System:
http://sourceforge.net/tracker/?group_id=141519
.PP 0
Please send all available information that might concern this bug (e.g.
Operating System and what can be done to reproduce the error). Supply also
the debug-output (but remove confidential data if any), which helps a lot
analysing the problem. If you use a wputrc file, it might also be useful
to provide the relevant parts of it.
.PP 0
If there is a crash due to a segfault or similar, try to run it in a
debugger, e.g. gdb /usr/bin/wput core and type where to get the
backtrace. It would also be great help if you could recompile wput
with memory-debugging support (make clean; make memdbg; [make
install]) and use this debug-dump.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Many options can be set in a wputrc file. For its documentation consult the
sample file provided by Wput.
.PD 0
There are some USAGE.* files in the doc/ directory of Wput. These contain
further information and samples on how to use Wput.
.SH "AUTHOR"
.IX Header "AUTHOR"
Wput is written by Hagen Fritsch <fritsch+wput-man@in.tum.de>
|