Gordon User Guide: bbFTP
How to Transfer Files with bbFTP on Gordon and Trestles
Several tools are available on Gordon and Trestles to assist users in moving their data between filesystems and other resources. For files over 2GB in size, a great option is bbFTP, which uses multi-threading to maximize throughput over the 1-gigabit network connection. Tests have achieved between 60MB and 100MB per second using this method.
Remote access tools are mentioned here for informational purposes only — users are responsible for configuration of remote access on their personal systems.
Overview of bbFTP
To use bbFTP, you need both a client and a server.
Client — a client is installed on Gordon and Trestles at:
Server — the service is available for Gordon at:
Server — the service is available for Trestles at:
This server is installed in
/bin/bbftpd. Use the
-s option to invoke a remote host for bbftpd. You will be prompted for a password on this host (see example below).
We have experienced problems using the Korn shell in this context. We recommend tcsh.
Local bbFTP Client Installation
If you prefer, you can use a local client on another machine or install your own bbFTP client. Here are the basic steps to do that:
- Download the bbFTP client source
- Extract the source code
- Change to the bbftp directory
- Run ./configure
- Run make
- Run make install
The default target location will be
/user/local/bin so if you are unable to write that location or want to preserve an existing copy there, you should change the target for
Additonal versions and server code are available for download from the bbFTP home page.
Basic bbFTP Syntax
displays a brief help message
displays version info
bbftp [Options] [-u RemoteUsername] -i ControlFile [RemoteHost]
bbftp [Options] [-u RemoteUsername] -e ControlCommands [RemoteHost]
requests the execution of commands contained in the control file ControlFile or the ControlCommands command string, using RemoteUsername on RemoteHost as the service
See the bbFTP documentation for complete details.
Example session for bbFTP
Here is an example of a bbFTP session for Gordon. In this example, the file
h3d_bw.tar.gz is being copied from the user's
/oasis/scratch file space to the home file system on Gordon, using the remote bbFTP daemon from oasis-dm.sdsc.edu.
clienthost:bin someuser$ bbftp -s -e 'get /oasis/scratch/someuser/temp_project/h3d_bw.tar.gz /Users/someuser/Documents/BBFTP/data/h3d_bw.tar.gz' -u someuser -p 2 -V oasis-dm.sdsc.eduPassword: >> COMMAND : get /oasis/scratch/someuser/temp_project/h3d_bw.tar.gz /Users/someuser/Documents/BBFTP/data/h3d_bw.tar.gz << OK 218931 bytes got in 0.342 secs (625 Kbytes/sec or 4.88 Mbits/s)
Here is an example of a bbFTP session for Trestles. This example uses the remote bbFTP daemon from trestles-dm.sdsc.edu.
clienthost:bin someuser$ bbftp -s -e 'get /oasis/scratch/trestles/someuser/IOR-trestles /Users/someuser/Documents/BBFTP/data/IOR-trestles' -u someuser -p 2 -V trestles-dm.sdsc.eduPassword: >> COMMAND : get /oasis/scratch/trestles/someuser/IOR-trestles /Users/someuser/Documents/BBFTP/data/IOR-trestles << OK 2349384 bytes got in 2.03 secs (1.13e+03 Kbytes/sec or 8.82 Mbits/s)