Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Removed references to Bologna-reading copies and internal FTP service

...

No Format
user@yourlaptop:~> sftp user@boaccess.ecmwf.int
sftp> cd ECSCRATCH
sftp> put MyFile

Advanced: High Performance Transfers with bbcp

You may also use a specialised tool called bbcp for best transfer rates. It is available on Atos HPCF. This tool is not as flexible as rsync when it comes to updating existing or partial copies, but it should be quicker when doing a one-off transfer.

Fetching data from ECMWF to your computer

Transferring a directory tree between the Atos HPCF and your computer with rsync

This is the recommended and most versatile option. You may initiate the transfer from your computer for the standard set of filesystemsFor example, if you wanted to transfer a directory called mydataset in your SCRATCH in Reading, you could initiate the transfer from ECGATE:

No Format
user@yourlaptop:~> bbcprsync -rp -s 10 -P 2 mydataset avz hpc-login:/scratch/user/

The options above would perform a recursive copy, preserving file permissions and using 10 parallel streams. It would also report progress every 2 seconds.

You may find all the details in the bbcp official documentation.

Note
titleCopying softlinks

bbcp will not copy soft links, so if you are copying an entire directory structure that contains them, you may need to copy them over at a second stage with another tool like rsync.

Fetching data from ECMWF to your computer

Transferring a directory tree between the Atos HPCF and your computer with rsync

mydataset .

This command can be run multiple times, since only new or modified files will be transferred.

Tip

You may add the --delete option if you also wish to delete files on the destination that have been removed from the source.

Transferring a directory tree between the Atos HPCF and your computer with scp

You may initiate the transfer from your computer:

No Format
user@yourlaptop:~> scp hpc-login:/scratch/user/myfile .

Note that running the command multiple times will always overwrite the file on destination.

Transferring a directory tree between the Atos HPCF and your computer with sftp

This is the recommended and most versatile option. You may initiate the transfer from your computer for the standard set of filesystems:

No Format
user@yourlaptop:~> rsyncsftp hpc-avz hpc-login:login
sftp> cd /scratch/user/mydataset .

This command can be run multiple times, since only new or modified files will be transferred.

Tip

You may add the --delete option if you also wish to delete files on the destination that have been removed from the source.

Transferring a directory tree between the Atos HPCF and your computer with scp

You may initiate the transfer from your computer:

No Format
user@yourlaptop:~> scp hpc-login:/scratch/user/myfile .

Note that running the command multiple times will always overwrite the file on destination.

Transferring a directory tree between the Atos HPCF and your computer with sftp

You may initiate the transfer from your computer:

No Format
user@yourlaptop:~> sftp hpc-login
sftp> cd /scratch/user
sftp> get myfile

Note that running the command multiple times will always overwrite the file on destination.

Transferring a directory tree between the Atos HPCF or ECFS domains and your computer via ECaccess gateway

For a data transfer from an Internet site to ECMWF, invoke a connection to the ECaccess gateway in Bologna:

No Format
user@yourlaptop:~> sftp user@boaccess.ecmwf.int
sftp> cd ECHOST/hpc-login/hpcperm/user
sftp> get MyFile

Pushing data from ECMWF to external sites

There are various methods for transferring files from ECMWF to remote sites. Which is best suited for your requirements depends on the configuration of the remote system. If you are not sure what it is, please ask your Computing Representative or system administrator.

In general you have the following options:

ectrans

The ectrans command, part of the ECaccess framework, allows files to be transferred securely and unattended, as it does not require a password to be specified for the remote host: the ECaccess gateway performs the security checking. Ideally, an ECaccess gateway should be installed at the remote site to which you want to transfer; if there is no remote site ECaccess gateway, you can use ectrans via the ECMWF gateway (ecaccess.ecmwf.int), provided that the destination site is accessible from the ECMWF gateway via (s)ftp.

Before you can make use of ectrans, you need to declare an ECtrans association (msuser) for the storage/retrieval of the remote file. This can be done either with the ECaccess tool ecaccess-association-put or through the ECaccess web interface of the gateway you want to transfer to (or at http://ecaccess.ecmwf.int , if no gateway is installed at the remote site). For every msuser declaration, the hostname and the login username and password are requested and stored on the gateway in encrypted form. After these preliminaries you should be able to use ectrans as described in its help page:


sftp> get myfile

Note that running the command multiple times will always overwrite the file on destination.

Transferring a directory tree between the Atos HPCF or ECFS domains and your computer via ECaccess gateway

For a data transfer from an Internet site to ECMWF, invoke a connection to the ECaccess gateway in Bologna:

No Format
user@yourlaptop:~> sftp user@boaccess.ecmwf.int
sftp> cd ECHOST/hpc-login/hpcperm/user
sftp> get MyFile

Pushing data from ECMWF to external sites

There are various methods for transferring files from ECMWF to remote sites. Which is best suited for your requirements depends on the configuration of the remote system. If you are not sure what it is, please ask your Computing Representative or system administrator.

In general you have the following options:

ectrans

The ectrans command, part of the ECaccess framework, allows files to be transferred securely and unattended, as it does not require a password to be specified for the remote host: the ECaccess gateway performs the security checking. Ideally, an ECaccess gateway should be installed at the remote site to which you want to transfer; if there is no remote site ECaccess gateway, you can use ectrans via the ECMWF gateway (ecaccess.ecmwf.int), provided that the destination site is accessible from the ECMWF gateway via (s)ftp.

Before you can make use of ectrans, you need to declare an ECtrans association (msuser) for the storage/retrieval of the remote file. This can be done either with the ECaccess tool ecaccess-association-put or through the ECaccess web interface of the gateway you want to transfer to (or at http://ecaccess.ecmwf.int , if no gateway is installed at the remote site). For every msuser declaration, the hostname and the login username and password are requested and stored on the gateway in encrypted form. After these preliminaries you should be able to use ectrans as described in its help page:

No Format
usage: ectrans [-gateway name] -remote msuser@
No Format
usage: ectrans [-gateway name] -remote msuser@[destination] \                                                                                                                              
          [-get|-put] -source [ec:|ectmp:]filename [args ...] (*)                                                                                                                          
        ectrans -check requestID (*)                                                                                                                                                       
                                                                                                                                                                                           
 -gateway  {arg} - access gateway name (default (**): ecaccess.ecmwf.int)
 -remote   {arg} - access method (default (**): *none*)
 -source   {arg} - source file name
 -target   {arg} - target file name (default: same as -source)
 -mailto   {arg} - target email address (default: current user)
 -lifetime {arg} - lifetime of the file in the spool (default: 1w) (***) (****)
 -delay    {arg} - transmission delay (default: immediate transfer) (***) (****)
 -at       {arg} - transmission date (default: immediate transfer) (****)
 -format   {arg} - define the date format as used with -at (default: yyyyMMddHHmmss)
 -retryCnt {arg} - define the number of retries (default: async=144, sync=0)
 -retryFrq {arg} - define the frequency of retries (default: async=10m, sync=1m) (***)
 -maxTime  {arg} - define the maximum transfer duration (default: 12h) (***)
 -priority {arg} - transmission priority 0-99 (default: 99) (****)
 -put            - interactive/synchronous transfer (no spool)
 -get            - interactive/synchronous pull (rather than push) file
 -onsuccess      - mail sent on successful transfer
 -onfailure      - mail sent when transfer has failed
 -onretry        - mail sent when transfer is retried
 -keep           - keep the request in the spool till expiration (****) (*****)
 -remove         - always remove the request from the spool (****) (*****)
 -reject         - if existing target file (default)
 -append         - if existing target file
 -resume         - if existing target file
 -overwrite      - if existing target file
 -verbose        - verbose mode on
 -version        - print version number
 -help           - this message

    (*) If successful, a requestID is returned, which can be used in
          check requests. Exit code is 0 on success and >0 otherwise.
   (**) The default values depend on the GATEWAY or REMOTE environment
          variables.
  (***) Duration in weeks, days, hours, minutes or seconds (e.g. 1w|2d).
 (****) These options are only relevant when the spool is used. The spool
          is no used during interactive transfers (-get and -put options).
(*****) By default, successful requests are removed from the spool and
          failed requests are kept in the spool till expiration.

...

When transferring data, make sure you are using the right transfer type (binary/ASCII). Attempting to transfer a binary file as ASCII will result in a corrupted binary file.

...

groupecmwf

ftp.ecmwf.int service

...

using the right transfer type (binary/ASCII). Attempting to transfer a binary file as ASCII will result in a corrupted binary file.