.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "BBFTP 1" .TH BBFTP 1 "2003-11-03" "perl v5.8.0" "User Contributed Perl Documentation" .SH "NAME" bbftp \- transfer files using compression and parallel streams .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBbbftp\fR \fB\-v\fR .PP \&\fBbbftp\fR \fB[Options]\fR [\fB\-u\fR RemoteUsername] \fB\-i\fR ControlFile \fIRemoteHost\fR .PP \&\fBbbftp\fR \fB[Options]\fR [\fB\-u\fR RemoteUsername] \fB\-e\fR ControlCommands \&\fIRemoteHost\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" Use the \fBbbftp\fR command to transfer files between the local host and a remote host. In order to get better performance on a loaded Wide Area Network than transferring with the standard ftp command, use the bbftp command. bbftp has been designed to take advantage of the \fB\s-1RFC\s0 1323\fR and uses multiple streams is order to speed up transfer. It also implements an automatic retry in case of failure of commands contained in the \fBControlFile\fR or in the \&\fBControlCommands\fR. .PP \&\fBbbftp\fR allows two methods of connection to the remote host, a direct connection on the control port of the remote \fBbbftpd\fR daemon or the ability to remotely start a \fBbbftpd\fR daemon through an ssh tunnel. For the first method, the \fBbbftpd\fR daemon has to be started (by inetd or as a standalone daemon) on the remote host and all user information (username, password) are transmitted encrypted to the daemon; for the second the \fBbbftpd\fR binary has to be accessible somewhere on the remote host and all control data are transmitted through the ssh tunnel. .PP A third additionnal authenticate mode allows to use certificates to log on. This mode is based on the Grid Security Infrastructure and requires Globus software to be installed. The client side needs a certificate to identify itself and the daemon needs a host certificate. .PP Tshe behaviour of \fBbbftp\fR is controled by the \fBControlFile\fR which contains the commands to be executed (option \-i) or by commands separated by semicolons (option \-e). The format of these commands are given in \&\fB\s-1CONTROL\s0 \s-1COMMANDS\s0\fR. .PP \&\fBbbftp\fR may be used in one of the following ways: .PP % bbftp .PP to print a short help .PP % bbftp \-v .PP to write the version of the software and default values to standard output. .PP % bbftp [Options] \fB\-i\fR ControlFile [\fB\-u\fR RemoteUsername] \fBRemoteHost\fR .PP % bbftp [Options] \fB\-e\fR ControlCommands [\fB\-u\fR RemoteUsername] \fBRemoteHost\fR .PP to request the execution of commands contained in the control file \&\fBControlFile\fR or the \fBControlCommands\fR using \fBRemoteUsername\fR on \&\fBRemoteHost\fR. .PP Depending on the \fIOptions\fR a password for the \fBRemoteUsername\fR on \&\fBRemoteHost\fR may be requested interactively (see \fB\s-1OPTIONS\s0\fR section, for a full description of the \fIOptions\fR). .PP The \fBRemoteUsername\fR value is ignored in the \fBcertificate authentication mode\fR. The remote user is automatically detected by the daemon using the Globus gridmap file. .SH "OPTIONS" .IX Header "OPTIONS" Options can be separated into two classes, those describing the way \fBbbftp\fR connects to the \fBbbftpd\fR daemon and those modifying the behaviour of the control commands. .Sh "\s-1CONNECTION\s0 \s-1OPTIONS\s0" .IX Subsection "CONNECTION OPTIONS" .IP "\-s" 4 .IX Item "-s" Use this option to use ssh to remotely start a \fBbbftpd\fR daemon. It usually starts the binary \*(L"bbftpd \-s\*(R", but this can be changed througth the \fB\-E\fR option. .IP "\-S" 4 .IX Item "-S" Same as \fB\-s\fR but ask ssh to run without asking a question (no password, no host key checking). It implies the usage of the identity file (for those familiar to ssh, this in done in setting the ssh options BatchMode to yes and the option StrictHostKeyChecking to no). .IP "\-E Server command to run" 4 .IX Item "-E Server command to run" This option has to be used if the binary to be started on the remote host is not the default one (usually \*(L"bbftpd \-s\*(R"). This option also implies the usage of the ssh mode (no need to add the \fB\-s\fR option) .IP "\-I \s-1SSH\s0 identity file" 4 .IX Item "-I SSH identity file" This option has to be used if the ssh identity file is not the default one (usually \f(CW$HOME\fR/.ssh/identity). This option also implies the usage of the ssh mode (no need to add the \fB\-s\fR option) .IP "\-L \s-1SSH\s0 command" 4 .IX Item "-L SSH command" If your ssh command is not the default one (usually \*(L"ssh \-q\*(R"), use this option to change it. This option also implies the usage of the ssh mode (no need to add the \&\fB\-s\fR option) .IP "\-P Private authentication string" 4 .IX Item "-P Private authentication string" If your client have been compiled with a private authentication schema, this option allow to pass an arbitrary string to the authentication module. You can determine if your client is using a private authentication module with the \fB\-v\fR option. .IP "\-w Control port number" 4 .IX Item "-w Control port number" Use this option to change the control port for connection to on the \&\fBRemoteHost\fR. This option is meaningless in ssh mode. .Sh "\s-1PROTOCOL\s0 \s-1OPTIONS\s0" .IX Subsection "PROTOCOL OPTIONS" .IP "\-D[min:max] Domain for ephemeral ports" 4 .IX Item "-D[min:max] Domain for ephemeral ports" Use this option to use protocol V2 (non\-passive mode) instead of V3 (passive mode). min and max are the range of ports used for data sockets. If min and max are not specified, free ports will be used (or built-in ports at compilation time). .Sh "\s-1BEHAVIOUR\s0 \s-1OPTIONS\s0" .IX Subsection "BEHAVIOUR OPTIONS" .IP "\-b" 4 .IX Item "-b" Use this option to run \fBbbftp\fR in the background after all interactive requests. .IP "\-c" 4 .IX Item "-c" Use this option to gzip the data during transmission. Compression and uncompression are done \*(L"on the fly\*(R" and do not require any additionnal disk space. Do not use it if the files to transmit are not compressible, as this will only lead to a waste of \s-1CPU\s0 and time. This option can be overridden by the control command \fBsetoption\fR \&\fBgzip\fR .IP "\-f ErrorFile" 4 .IX Item "-f ErrorFile" Use this option to redirect the data generated on the standard error to \&\fBErrorFile\fR .IP "\-g Globus service name" 4 .IX Item "-g Globus service name" Use this option in certificate mode if the server does not use a host server. The service name will be the subject of the certificate the server is actually using. .IP "\-m" 4 .IX Item "-m" Use to special output on file transfer. The ouput is in the following format: .Sp Direction NumberOfBytes NumberOfSeconds BuffersizePerStream SendWinSize RecvWinSize NumberOfStreams Compression .Sp BuffersizePerStream, SendWinSize, RecvWinSize are expressed in KiloBytes .Sp For example : .Sp get 10000 10 256 256 256 2 gzip .Sp means that 10000 Bytes have been transfered in 10 seconds in compressed mode using 2 streams, a buffer size per stream of 256 KBytes, a \s-1TCP\s0 send window size of 256 KBytes and a \s-1TCP\s0 receive window size of 256 KBytes. .Sp This option is useful when trying to choose the best parameters between two sites. .Sp When this option is set \fB\-V\fR, \fB\-W\fR and \fB\-t\fR options are not available. .IP "\-n" 4 .IX Item "-n" Use this option to simulate the transfer. All commands will be executed but no data will be transfered with the get, mget put and mput commands. Output is the same as a real transfer. \&\fBOutputFile\fR .IP "\-o OutputFile" 4 .IX Item "-o OutputFile" Use this option to redirect the data generated on the standard output to \&\fBOutputFile\fR .IP "\-q" 4 .IX Item "-q" Use this option to mark packets for \&\fB\s-1QBSS\s0\fR (QBone Scavenger Service) .IP "\-p NumberOfParallelStreams" 4 .IX Item "-p NumberOfParallelStreams" Use this option to increase the number of streams to use during the file transfer. Default is 1. This option can be overridden by the control command \&\fBsetnbstream\fR .IP "\-r NumberOfTries" 4 .IX Item "-r NumberOfTries" Use this option to change the number of tries to use when a transfer fails. The default is usually 5. .IP "\-R .bbftprc file" 4 .IX Item "-R .bbftprc file" After a successful connection to the daemon the client is going to execute all control commands located in the \f(CW$HOME\fR/.bbftprc file. The location of this file can be changed with this option. Take care, not all control commands are allowed in the .bbftprc file (See \fB\s-1CONTROL\s0 \s-1COMMANDS\s0\fR to know the authorized one) .IP "\-t" 4 .IX Item "-t" Use this option to have a timestamp on all output (overridden by \-m option). .IP "\-V" 4 .IX Item "-V" Use this option to set the client in verbose mode (overridden by \-m option). .IP "\-W" 4 .IX Item "-W" Use this option to print warnings to stderr (overridden by \-m option). .SH "CONTROL COMMANDS" .IX Header "CONTROL COMMANDS" The control commands are either contained by an \s-1ASCII\s0 file ( \&\fB\-i\fR option) or written on the bbftp line ( \&\fB\-e\fR option). They can be divided into two classes, the \*(L"File related commands\*(R" and the \*(L"Behaviour commands\*(R". .PP All \*(L"Behaviour commands\*(R" may be put in a .bbftprc file, but all \*(L"File related commands\*(R" are forbiden in that file. .PP \&\fB\s-1IMPORTANT\s0 \s-1NOTE\s0\fR .PP Under the \s-1RFIO\s0 mode (see \&\fBsetoption remoterfio\fR and \&\fBsetoption localrfio\fR ) all file related commands have to be given in absolute mode. .Sh "\s-1FILE\s0 \s-1RELATED\s0 \s-1COMMANDS\s0" .IX Subsection "FILE RELATED COMMANDS" .ie n .IP "\fBcd ""RemoteDirectory""\fR" 4 .el .IP "\fBcd ``RemoteDirectory''\fR" 4 .IX Item "cd RemoteDirectory" Change the current directory of the daemon on the remote host. .Sp If the \&\fBRemoteDirectory\fR is given in relative mode (not beginning by a /), it is supposed to be relative to the directory where the daemon is currently running. After the first connection, the current directory is the home directory of the \&\fBRemoteUsername\fR . .Sp The client keeps in mind the current remote directory so in case of broken connection during a transfer, it can reset the current directory of the daemon to the correct directory. .Sp If the daemon has been set in \s-1RFIO\s0 mode (see \&\fBsetoption remoterfio\fR ) this option is unavailable. .ie n .IP "\fBget "" RemoteFile LocalFile""\fR" 4 .el .IP "\fBget `` RemoteFile LocalFile''\fR" 4 .IX Item "get RemoteFile LocalFile" Transfer the remote file \&\fBRemoteFile\fR to the local host with the name \&\fBLocalFile\fR. If the local file already exists it is overwritten (only in case of successful transfer if the \&\fBsetoption tmpfile\fR has been set). Under some circumstances (No space left on device, Access denied, File is a directory ...), no retry is done and the next command is processed. .Sp If the \&\fBRemoteFile\fR is given in relative mode (not beginning by a /), it is supposed to be relative to the current directory on the remote host (which is set to the home directory of the \&\fBRemoteUsername\fR at the beginning). If the \&\fBLocalFile\fR is given in relative mode (not beginning by a /) the file is created relative to the directory where the \&\fBbbftp\fR command is running (which may have been changed with the \&\fBlcd\fR command). .ie n .IP "\fBget "" RemoteFile LocalDir/""\fR" 4 .el .IP "\fBget `` RemoteFile LocalDir/''\fR" 4 .IX Item "get RemoteFile LocalDir/" Transfer the remote file \&\fBRemoteFile\fR to the local host with the name \&\fBRemoteFile\fR (without path) in the \&\fBLocalDir\fR directory. .Sp If the local file already exists it is overwritten (only in case of successful transfer if the \&\fBsetoption tmpfile\fR has been set). Under some circumstances (No space left on device, Access denied, File is a directory ...), no retry is done and the next command is processed. .Sp If the \&\fBRemoteFile\fR is given in relative mode (not beginning by a /), it is supposed to be relative to the current directory on the remote host (which is set to the home directory of the \&\fBRemoteUsername\fR at the beginning). .Sp If the \&\fBLocalDir\fR is given in relative mode (not beginning by a /) the file is created relative to the directory where the \&\fBbbftp\fR command is running (which may have been changed with the \&\fBlcd\fR command). .ie n .IP "\fBget "" RemoteFile""\fR" 4 .el .IP "\fBget `` RemoteFile''\fR" 4 .IX Item "get RemoteFile" Transfer the remote file \&\fBRemoteFile\fR to the local host with the name \&\fBRemoteFile\fR. .Sp If the \&\fBRemoteFile\fR is given in relative mode (not beginning by a /), it is supposed to be relative to the current directory on the remote host (which is set to the home directory of the \&\fBRemoteUsername\fR at the beginning) and created on the local host relative to the directory where the \&\fBbbftp\fR command is running (which may have been changed with the \&\fBlcd\fR command). .ie n .IP "\fBlcd "" LocalDirectory""\fR" 4 .el .IP "\fBlcd `` LocalDirectory''\fR" 4 .IX Item "lcd LocalDirectory" Change the current directory on the local host. If the \&\fBLocalDirectory\fR is given in relative mode (not beginning by a /), it is supposed to be relative to the directory where the client is currently. .Sp If the client has been set into \s-1RFIO\s0 mode (see \&\fB setoption localrfio\fR ) this option is unavailable. .ie n .IP "\fBmget "" RemoteFiles LocalDirectory""\fR" 4 .el .IP "\fBmget `` RemoteFiles LocalDirectory''\fR" 4 .IX Item "mget RemoteFiles LocalDirectory" Expand the \&\fB RemoteFiles\fR on the remote machine and do a \*(L"get\*(R" for each file name thus produced. Files are transferred into the \&\fBLocalDirectory\fR. .ie n .IP "\fBmget "" RemoteFiles""\fR" 4 .el .IP "\fBmget `` RemoteFiles''\fR" 4 .IX Item "mget RemoteFiles" Expand the \&\fB RemoteFiles\fR on the remote machine and do a \*(L"get\*(R" for each file name thus produced. Files are transferred into the local working directory, which can be changed with the \&\fBlcd\fR command. .ie n .IP "\fBmkdir "" RemoteDirectory""\fR" 4 .el .IP "\fBmkdir `` RemoteDirectory''\fR" 4 .IX Item "mkdir RemoteDirectory" Create the directory \&\fBRemoteDirectory\fR on the remote host. If the directory already exist no retry is done and the next command of the file is processed. If the \&\fBRemoteDirectory\fR is given in relative mode (not beginning by a /) the directory is created relative to the current remote directory. .Sp If one directory in the given path does not exist the command will fail if the \&\fBsetoption nocreatedir\fR is set. If the \&\fBsetoption createdir\fR has been set all unexisting directories will be created. .ie n .IP "\fBmput "" LocalFiles RemoteDirectory""\fR" 4 .el .IP "\fBmput `` LocalFiles RemoteDirectory''\fR" 4 .IX Item "mput LocalFiles RemoteDirectory" Expand wild cards in the list of local files given as arguments and do a \*(L"put\*(R" for each file in the resulting list. Files are transfered into the \&\fB RemoteDirectory\fR. .ie n .IP "\fBmput "" LocalFiles""\fR" 4 .el .IP "\fBmput `` LocalFiles''\fR" 4 .IX Item "mput LocalFiles" Expand wild cards in the list of local files given as arguments and do a \*(L"put\*(R" for each file in the resulting list. Files are transfered into the current remote directory which can be changed with the \&\fB cd\fR command. .ie n .IP "\fBput "" LocalFile RemoteFile""\fR" 4 .el .IP "\fBput `` LocalFile RemoteFile''\fR" 4 .IX Item "put LocalFile RemoteFile" Transfer the local file \&\fBLocalFile\fR to the remote host with the name \&\fBRemoteFile\fR. If the remote file already exists it is overwritten. Under some circumstances (No space left on device, Access denied ...), no retry is done and the next command of the file is processed. .Sp If the \&\fBLocalFile\fR is given in relative mode (not beginning by a /) the file is supposed to be relative to the directory where the \&\fBbbftp\fR command is running (which may have been changed with the \&\fBlcd\fR command). .Sp If the \&\fBRemoteFile\fR is given in relative mode (not beginning by a /), it is created relative to the current directory on the remote host (which is set to the home directory of the \&\fBRemoteUsername\fR at the beginning). .ie n .IP "\fBput "" LocalFile RemoteDir/""\fR" 4 .el .IP "\fBput `` LocalFile RemoteDir/''\fR" 4 .IX Item "put LocalFile RemoteDir/" Transfer the local file \&\fBLocalFile\fR to the remote host with the name \&\fBLocalFile\fR (without the path) in the \&\fBRemoteDir\fR directory .Sp If the remote file already exists it is overwritten. Under some circumstances (No space left on device, Access denied ...), no retry is done and the next command of the file is processed. .Sp If the \&\fBLocalFile\fR is given in relative mode (not beginning by a /) the file is supposed to be relative to the directory where the \&\fBbbftp\fR command is running (which may have been changed with the \&\fBlcd\fR command). .Sp If the \&\fBRemoteDir\fR is given in relative mode (not beginning by a /), it is created relative to the current directory on the remote host (which is set to the home directory of the \&\fBRemoteUsername\fR at the beginning). .ie n .IP "\fBput "" LocalFile""\fR" 4 .el .IP "\fBput `` LocalFile''\fR" 4 .IX Item "put LocalFile" Transfer the local file \&\fBLocalFile\fR to the remote host with the name \&\fBLocalFile\fR. .Sp If the \&\fBLocalFile\fR is given in relative mode (not beginning by a /) the file is supposed to be relative to the directory where the \&\fBbbftp\fR command is running (which may have been changed with the \&\fBlcd\fR command) and created relative to the current directory on the remote host (which is set to the home directory of the \&\fBRemoteUsername\fR at the beginning). .Sh "\s-1BEHAVIOUR\s0 \s-1COMMANDS\s0" .IX Subsection "BEHAVIOUR COMMANDS" .RS 4 \&\fBsetoption \*(L" Option\*(R"\fR .Sp To negate an option just add \*(L"no\*(R" before the option (ie setoption nocreatedir). The options are the following : .RE .IP "\fBcreatedir\fR" 4 .IX Item "createdir" All file-related commands will create missing directories if needed (default createdir). .IP "\fBgzip\fR" 4 .IX Item "gzip" All file transfers will be compressed using the gzip algorythm (default nogzip). .IP "\fBkeepaccess\fR" 4 .IX Item "keepaccess" The access time and modify time will be kept on each file transferred (default keepaccess). .IP "\fBkeepmode\fR" 4 .IX Item "keepmode" The file mode will be kept on each file transferred (default keepmode). .IP "\fBlocalrfio\fR" 4 .IX Item "localrfio" All local files will be created with \s-1RFIO\s0 functions (default nolocalrfio). .IP "\fBremoterfio\fR" 4 .IX Item "remoterfio" All remote files will be created with \s-1RFIO\s0 functions (default noremoterfio). .IP "\fBqbss\fR" 4 .IX Item "qbss" All the packets will be marked for \s-1QBSS\s0 (default noqbss). .IP "\fBtmpfile\fR" 4 .IX Item "tmpfile" All files will be created under a temporary name (FileName.bbftp.tmp.HostName.Pid) and renamed to the correct file name if transfer is successful (default tmpfile) .ie n .IP "\fBsetbuffersize "" Buffersize""\fR" 4 .el .IP "\fBsetbuffersize `` Buffersize''\fR" 4 .IX Item "setbuffersize Buffersize" Set the size in Kbytes of the buffer used for reading or writing the files. This command set the local and remote buffer size. (Each stream will use the same buffer size) .ie n .IP "\fBsetlocalcos "" LocalCos""\fR" 4 .el .IP "\fBsetlocalcos `` LocalCos''\fR" 4 .IX Item "setlocalcos LocalCos" Set the local \s-1COS\s0 to the value specified by \&\fBLocalCos\fR. This \s-1COS\s0 will be used for further rfio funtions. It is used if the \&\fB setoption localrfio\fR has been set and if the file is a \s-1HPSS\s0 file. A value of 0 allows to select the \s-1COS\s0 according to the file size. A negative value allows to not set the \s-1COS\s0. The default value is 0. .ie n .IP "\fBsetlocalumask "" LocalUmask""\fR" 4 .el .IP "\fBsetlocalumask `` LocalUmask''\fR" 4 .IX Item "setlocalumask LocalUmask" Set the local umask to the value specified by \&\fBLocalUmask\fR. This umask will be used for further i/o funtions. The \&\fBLocalUmask\fR has to be given in \&\fB \s-1OCTAL\s0\fR .ie n .IP "\fBsetnbstream "" NumberOfParallelStreams""\fR" 4 .el .IP "\fBsetnbstream `` NumberOfParallelStreams''\fR" 4 .IX Item "setnbstream NumberOfParallelStreams" Set the number of parallel streams to \&\fBNumberOfParallelStreams\fR. This number will be used for further transfer commands. .ie n .IP "\fBsetremotecos "" RemoteCos""\fR" 4 .el .IP "\fBsetremotecos `` RemoteCos''\fR" 4 .IX Item "setremotecos RemoteCos" Set the remote \s-1COS\s0 to the value specified by \&\fBRemoteCos\fR. This \s-1COS\s0 will be used for further rfio funtions. It is used if the \&\fB setoption remoterfio\fR has been set and if the file is a \s-1HPSS\s0 file. A value of 0 allows to select the \s-1COS\s0 according to the file size. A negative value allows to not set the \s-1COS\s0. The default value is 0. .ie n .IP "\fBsetremoteumask "" RemoteUmask""\fR" 4 .el .IP "\fBsetremoteumask `` RemoteUmask''\fR" 4 .IX Item "setremoteumask RemoteUmask" Set the remote umask to the value specified by \&\fBRemoteUmask\fR. This remote umask will be used for further i/o funtions. The \&\fBRemoteUmask\fR has to be given in \&\fB \s-1OCTAL\s0\fR .ie n .IP "\fBsetrecvwinsize "" WindowSize""\fR" 4 .el .IP "\fBsetrecvwinsize `` WindowSize''\fR" 4 .IX Item "setrecvwinsize WindowSize" Set size in Kbytes of the receive \s-1TCP\s0 window of each stream of the \&\fB bbftpd\fR daemon. This also set the send window size of the client to the same value. .ie n .IP "\fBsetsendwinsize "" WindowSize""\fR" 4 .el .IP "\fBsetsendwinsize `` WindowSize''\fR" 4 .IX Item "setsendwinsize WindowSize" Set size in Kbytes of the send \s-1TCP\s0 window of each stream of the \&\fB bbftpd\fR daemon. This also set the receive window size of the client to the same value. .ie n .IP "\fBsetackto "" Acknowledge time\-out""\fR Set time-out (in seconds) to wait for an acknowledge. Default value is 100" 4 .el .IP "\fBsetackto `` Acknowledge time\-out''\fR Set time-out (in seconds) to wait for an acknowledge. Default value is 100" 4 .IX Item "setackto Acknowledge time-out Set time-out (in seconds) to wait for an acknowledge. Default value is 100" .PD 0 .ie n .IP "\fBsetrecvcontrolto "" Input control time\-out""\fR" 4 .el .IP "\fBsetrecvcontrolto `` Input control time\-out''\fR" 4 .IX Item "setrecvcontrolto Input control time-out" .PD Set time-out (in seconds) to wait while reading on the control socket. Default value is 180 .ie n .IP "\fBsetsendcontrolto "" Output control time\-out""\fR" 4 .el .IP "\fBsetsendcontrolto `` Output control time\-out''\fR" 4 .IX Item "setsendcontrolto Output control time-out" Set time-out (in seconds) to wait while writing on the control socket. Default value is 180 .ie n .IP "\fBsetdatato "" Data time\-out""\fR" 4 .el .IP "\fBsetdatato `` Data time\-out''\fR" 4 .IX Item "setdatato Data time-out" Set time-out (in seconds) to wait while reading on the data socket. Default value is 300 .PP \&\fB\s-1NOTES\s0\fR If the option \&\fBtmpfile\fR is used then if the new file ( \&\fBRemoteFile\fR for a put or \&\fBLocalFile\fR for a get) did not exist before, bbftp ensures that the file transfer was correct if the file exists. .PP In case of an already existing file, if the size, the last access and modification time are correct (if option \&\fB keepaccess\fR has been set) bbftp ensures that the file transfer was correct. .SH "RETURN VALUES" .IX Header "RETURN VALUES" The following exit values are returned: .ie n .IP """0""" 4 .el .IP "``0''" 4 .IX Item "0" if all commands were successfuly executed .ie n .IP """>0""" 4 .el .IP "``>0''" 4 .IX Item ">0" if one command failed. .PP It may happend that a non-zero value is returned even if all files were correctly transfered, if during one transfer a retry was needed. This will be corrected in future releases. .SH "MESSAGES AND ERRORS" .IX Header "MESSAGES AND ERRORS" All informative messages are written to the standard ouput (or to the \&\fBOutputFile\fR ). All error messages are written to the standard error (or to the \&\fBErrorFile\fR ). .SH "WARNING" .IX Header "WARNING" The bbftp client version 2.0.0 is unable to talk with a daemon in release 1.x.x. .PP The rfioxxx or xxxrfio commands are no longer supported, use instead the options \&\fBlocalrfio\fR or \&\fBremoterfio\fR in conjunction with put and get commands to obtain the same result. .SH "RESULT FILE" .IX Header "RESULT FILE" If the \&\fB\-i\fR option was used a result file will be created in the same directory as the \&\fBControlFile\fR. Its name is ControlFile with the extension \*(L".res\*(R". It contains the same lines as the \&\fBControlFile\fR plus the keyword \*(L"\s-1OK\s0\*(R", in case of success, or \*(L"\s-1FAILED\s0\*(R", in case of failure. .PP If the \&\fB\-e\fR option was used and the \&\fB\-V\fR option was not used, the software will print the command executed plus the keyword \*(L"\s-1OK\s0\*(R", in case of success, or \*(L"\s-1FAILED\s0\*(R", in case of failure to standard output. .SH "CONNECTION EXAMPLES" .IX Header "CONNECTION EXAMPLES" \&\fBbbftp \-i ctrlfile \-u jon \-p 5 \-c cchost.in2p3.fr\fR .PP means that bbftp is going to connect to remote host cchost.in2p3.fr using username jon. If the connection is successful then the commands in ctrlfile will be executed. All transfer commands will use five streams and gzip compression. .PP \&\fBbbftp \-i ctrlfile \-u phg \-s cchost.in2p3.fr\fR .PP means that bbftp is going to start a remote bbftp via sshd on host cchost.in2p3.fr using username phg. ssh will first try an RSAAuthentication if it is allowed by cchost.in2p3.fr; otherwise ssh will ask for a password for user phg on cchost.in2p3.fr. Then the sshd on cchost.in2p3.fr will log user phg and try to start the command \*(L"bbftpd \-s\*(R" .PP \&\fBbbftp \-i ctrlfile \-u jon \-E '/tmp/bbftpd \-s' cchost.in2p3.fr\fR .PP Same behaviour as preceding, except that the remote command will be \*(L"/tmp/bbftpd \-s\*(R" .PP \&\fBbbftp \-i ctrlfile \-u gilles \-S cchost.in2p3.fr\fR .PP means that bbftp is going to start using ssh a remote bbftpd on host cchost.in2p3.fr using username gilles. ssh will try an RSAAuthentication if it is allowed by cchost.in2p3.fr, otherwise the connection will be broken. .PP \&\fBbbftp \-e 'setrecvwinsize 1024 ; put file1 file2' \-u jon cchost.in2p3.fr\fR .PP means that bbftp is going to connect to remote host cchost.in2p3.fr using jon username. If the connection is successful then the commands \&\fBsetrecvwinsize 1024\fR and \&\fB put file1 file2\fR will be executed. All tranfer commands will use one stream. .PP \&\fBbbftp \-e 'put file1 file2' cchost.in2p3.fr\fR .PP means (in the certification authentication mode) that bbftp is going to connect to remote host cchost.in2p3.fr using a certificate. The remote user will be detected by the daemon which will check for the certificate provided and will accept or not the connection. .Sh "Using \s-1SSH\s0 to start a \s-1BBFTPD\s0 daemon linked with dynamic libraries" .IX Subsection "Using SSH to start a BBFTPD daemon linked with dynamic libraries" If you have linked the daemon with dynamic libraries with \-L/path/to/lib option, you need to specify this location in \f(CW$LD_LIBRARY_PATH\fR. To be taken into account by \s-1SSHD\s0, this environment variable must be modified in the \&\fB$HOME/.ssh/environment \fR file. .PP See your \s-1SSH\s0 or \s-1SSHD\s0 manual for more details. .SH "EXAMPLES" .IX Header "EXAMPLES" User jon want to transfer files from host localhost to remotehost on the account bbrdist. The bbrdist account has /home/babar/bbrdist as default directory on remotehost but has no subdirectories. We are going to study a control file in order to understand bbftp behaviour (we do not care here about the connection method; see \&\fB \s-1CONNECTION\s0 \s-1EXAMPLES\s0\fR for that). .PP User jon on the local host is on the /home/babar/jon directory and has the following control file (all lines have a number which must not exists but which are there just for clarity) : .PP \&\fB1\fR setnbstream 20 .PP \&\fB2\fR setremoteumask 022 .PP \&\fB3\fR setoption nocreatedir .PP \&\fB4\fR put /home/babar/jon/f1 /home/babar/bbrdist/newfiles/f1 .PP \&\fB5\fR setoption createdir .PP \&\fB6\fR put /home/babar/jon/f1 /home/babar/bbrdist/newfiles/f1 .PP \&\fB7\fR setnbstream 5 .PP \&\fB8\fR setrecvwinsize 1024 .PP \&\fB9\fR setoption gzip .PP \&\fB10\fR put /home/babar/jon/f2 /home/babar/bbrdist/newfiles/f2 .PP Command 1 just sets the number of parallel streams to 20 for further get or put commands. .PP Command 2 sets the remote umask for further put commands. .PP Command 3 indicates that no directory has to be created on further put or get commands. .PP Command 4 tries to send the local file /home/babar/jon/f1 to /home/babar/bbrdist/newfiles/f1. This command will fail because bbrdist has no subdirectory and directory creation is inhibed. .PP Command 5 resets the createdir option. .PP Command 6 will be successful (if the connection does not break), because the creation of the directory /home/babar/bbrdist/newfiles has been authorized by the createdir option. .PP Command 7 reduces the number of streams to 5 .PP Command 8 sets the receive \s-1TCP\s0 window size to 1024 Kbytes on remotehost and the send \s-1TCP\s0 window size to 1024 Kbytes on localhost. .PP Command 9 sets the gzip option for further get or put commands. .PP Command 10 will transfer file /home/babar/jon/f2 to /home/babar/bbrdist/newfiles/f2 with 5 streams in compressed mode. .SH "AUTHORS" .IX Header "AUTHORS" \&\fBbbftp\fR was developed by Gilles Farrache. It is now maintained by Lionel Schwarz at \&\fB \s-1IN2P3\s0 Computing Center\fR , Villeurbanne (\s-1FRANCE\s0). .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" Tim Adye (Idea and implementation of ssh mode) Paola Grosso (Idea and implementation of the \-q client option) Dan Schrager (Idea and implementation of the \-D client option) Rod Walker & Kostas Georgiou (Idea and implementation of the \-g client option) Shuwei Ye (Bug fix) .SH "BUGS" .IX Header "BUGS" Send bugs / comments to bbftp@in2p3.fr .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIbbftpd\fR\|(1).