Provided by: wput_0.6.2+git20130413-8_amd64 bug


       wput - A wget-like ftp-uploader


       wput [options] file [file ...] URL


       Wput is a free utility that is able to upload files to a ftp-server.

       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.

       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.

       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

       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.

       The upload-rate of Wput can be restricted, so that Wput won't eat all available bandwidth.

       URLs are recognized by the ftp://-prefix

       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.

       So  you  can  specify  e.g. one URL and read all filenames from a file.  Or use wput *.txt
       ftp://host, to transfer all *.txt-files.  See doc/USAGE.examples for further examples.

       To be on the safe side, it is recommended to supply the files before the URLs.

   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


   Logging and Input File Options
       -a logfile, --append-output=logfile
              Append all logged messages to logfile.

              This  option  causes Wput to snip path 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.

       -i file, --input-file=file
              Reads URLs and filenames from file. 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 file 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 not do things like find | wput ftp://host/ -i -!  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  wput ftp://host/ to upload
              everything from the local directory.  Or use find ! -type d | wput ftp://host/ -i -
              to tell find, not to output directories.

       -I command, --input-pipe=command
              If no file/directory can be "guessed" (see "Guessing Local File") from the URL, the
              output of command is taken as file-input. command is invoked as follows:

                       command   ftp    "username"    "ip/hostname"    port    "remote_directory"

              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.

       -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.

       -o logfile, --output-file=logfile
              Log all messages to logfile.

       -q, --quiet
              Turn off Wput's output.

       -R, --remove-source-files
              Unlinks/deletes files that have been successfully transmitted.

       -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.

       -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.

   Upload Options
       -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.

       -b, --background
              Go to background immediately after startup.  If no output file is given, wput  will
              redirect its output to "./wputlog"

       -B, --binary
              Specifying this flag forces Wput to use BINARY mode file transfers.

              When  making  client  TCP/IP connections, bind() to address to address on the local
              machine. address may br specified as a hostname or IP address. This option  can  be
              useful  if  your  machine  is  bound  to multiple IPs.  --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.

   Basic Startup Options
       -l rate, --limit-rate=rate
              If you don't want Wput to eat up all available bandwidth, specify this flag.   rate
              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.

       -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--.

       -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 doc/USAGE.resumehandling

       -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
              wputrc-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.

       -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.

              Alias is option -Y. The mode can be either http for  http-based  proxies  (such  as
              SQUID), socks for SOCKSv5 proxies or off to disable the proxy.

              If  the  proxy-server  requires authentication, use NAME as user-name.  You need to
              specify --proxy-pass too. These information can also be stored in the wputrc-file.

              Specifies the password to use for the proxy.

   FTP Options
              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

       -t number, --tries=number
              Set number of retries to  number.  Specify  -1  for  infinite  retrying,  which  is
              default, too.

       -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.

              If this flag is specified, a remote file being larger than the local  one  will  be
              skipped. Default is reuploading it.

              If  this flag is specified, the upload of a file will be skipped if the remote file
              already exists.

   General options
       -V, --version
              Display the version of wput.

       -h, --help
              Print a help screen, with a short description of wput's command-line options.


       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.


       You are welcome to send bug reports and suggestions about  Wput  through  the  Sourceforge
       Bugtracking System:

       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.

       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.


       Many  options  can  be set in a wputrc file. For its documentation consult the sample file
       provided by Wput.  There are some USAGE.* files in  the  doc/  directory  of  Wput.  These
       contain further information and samples on how to use Wput.


       Wput is written by Hagen Fritsch <>